【原因】
Selenium在2016年下旬上线了。
由于W3C标准化以及各大浏览器厂商的积极跟进,自WebDriver 3.0 之后,Selenium不再提供默认的浏览器支持。换言之,不再默认地支持Firefox了。用FireFox测试, 就需要用到Mozilla自己的驱动才行。
【Python处理】
1. 零基础:
如果从来没有装过Selenium,直接执行。
pip install selenium
2. 升级安装:
如果之前是Selenium2的用户,执行升级安装。
pip install --upgrade selenium
【浏览器驱动】
1. 下载:
FireFox的驱动,gechodriver(蜥蜴驱动?!),找如下链接里面对应操作系统的:
https://github.com/mozilla/geckodriver/releases
IE的驱动,edge(边界?!),找如下链接里面的Download:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Chrome驱动,比较朴素地依旧命名为chromedriver:https://sites.google.com/a/chromium.org/chromedriver/
其它的驱动,参考官网,能想到的驱动都在这里了。
http://www.seleniumhq.org/download/
2. 配置:
以FireFox的驱动 geckodriver为例。下载后,建议可以直接放在FireFox的默认安装目录(C:\Program Files (x86)\Mozilla Firefox\)。
最重要一点:系统环境变量PATH里,添加上FireFox的安装路径。
然后,一切照旧运行。
【Python+Selenium3】
举个简单的例子:
import time
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("Python")
driver.find_element_by_id("su").click()
time.sleep(5)
driver.quit()
从前的代码几乎不用动,就可以照样用了。