随着Python3的普及,Selenium3也跟上了行程。而Selenium3最大的变化是去掉了Selenium RC,另外就是Webdriver从各自浏览器中脱离,必须单独下载。
1、windows下多个python版本共存(本机已经安装有python2.7.8)
可以通过 python 、pip 下载python跟pip
本机安装的版本python 2.7.8 与python 3.5
下载python后安装,添加环境变量 path
D:\Python\Python35-32\Scripts\;D:\Python\Python35-32\;D:\Python27\;D:\Python27\Scripts\;
进入D:\Python27,将python.exe修改为python2.exe
进入D:\Python\Python35-32,将python.exe修改为python3.exe
将下载的pip 解压,进入解压目录 执行python2 setup.py install/python3 setup.py install
通过 pip list 查看pip是否安装成功。
python3-pip list
2、在python3中安装selenium
进入D:\Python\Python35-32\Scripts\ 执行pip.exe install selenium
successfully install selenium
3、安装selenium服务器
在selenium下载地址中下载selenium-server-standalone-x.x.x.jar
在执行 java -jar selenium-server-standalone-3.3.1.jar 安装selenium 服务器
4、安装Firefox geckodriver
安装firefox最新版本,添加Firefox可执行程序到系统环境变量。记得关闭firefox的自动更新
安装geckodriver
geckodrive 下载地址 将下载的geckodriver.exe 放到path路径下 D:\Python\Python35-32\
5、简单例子
官网的一个实例,python_org_search.py。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
通过 python3 python_org_search.py 执行
执行界面
firefox
6、踩过的坑
1、需要安装 geckodriver
error 1
2、升级firefox
error 2
3、火狐浏览器如果没有安装至默认目录,webdriver.py和firefox_binary.py的配置需要更改
error
4、插件间版本的匹配搞不懂。庆幸的是可以跑了~~~