1、核心原理
2、实现过程
2.1安装selenium包
pip install -U selenium
执行过程提示:
You are using pip version 9.0.1, however version 20.2.4 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
需要更新pip
1)执行python -m pip install --upgrade pip
2)再次安装selenium包 pip install -U selenium
3)成功导入selenium包
2.2 获取url
from selenium import webdriver driver=webdriver.Ie() url="https://10.23.124.113:8078/customer/" driver.get(url)
运行上述代码会报错:Message: 'IEDriverServer.exe' executable needs to be in PATH
方法一:添加IE浏览器驱动:
selenium官网有提供下载http://code.google.com/p/selenium/downloads/list
这里我用的是IEDriverServer_Win32_2.43.0.zip,下载后解压,把IEDriverServer.exe放在python安装目录,与python.exe在同一目录下,即可调用.
方法二:若IEDriverServer.exe没有放在python安装目录下,而自定义的目录
#coding=utf-8 from selenium import webdriver import os url='http://www.baidu.com' iedriver ='C:IEDriverServer.exe' #iedriver路径 os.environ["webdriver.ie.driver"] = iedriver #设置环境变量 driver = webdriver.Ie(iedriver) driver.get(url) driver.close() #os.environ["webdriver.ie.driver"]是设置IEDriver的环境变量,设置为实际的IEDriver地址即可。 #若为chrom浏览器,则参数为:os.environ["webdriver.chrome.driver"]
2.3 登录 定位元素
from selenium import webdriver driver=webdriver.Ie() url="https://10.23.124.113:8078/customer/" driver.get(url) time.sleep(6) #进行登录 driver.find_element_by_id("USERID").send_keys('sl001') driver.find_element_by_id("PASSWORD_VIEW").send_keys("111111") #driver.find_element_by_class_name("yw_sd_subbtn").click() #用xpath更精确不过ie不太支持
driver.find_element_by_id("login-btn").send_keys(Keys.ENTER)
问题一:元素定位不到
NameError: name 'time' is not defined
解决方法:https://www.cnblogs.com/yufeihlf/p/5689042.html
我这里的原因经排查是:页面还没有加载出来,就对页面上的元素进行的操作,加入等待时间就可以了
问题二:click()方法不能用
解决方法:https://www.cnblogs.com/hfclszs/p/13672979.html
我用的是讲click()改成send_keys(Keys.ENTER) 就可以成功登录了