Selenium+python各种填坑
2017-05-10 本文已影响0人
谁动了我的果果
版本
Python3.5.2 \ Selenium3.4.0 \ FireFox51.0
安装setuptools与pip
- setuptools是Python的distutilsde工具的增强工具,可以更方便的创建和发布Python包。
- 在最新的Python安装包中已经集成了pip,所以不需要单独下载安装,没想到到后来程序运行,是一个大坑。
- 第一个坑:下载setuptools-35.0.2.zip最新版本,通过python命令执行setup.py进行安装:进入到解压后的文件夹cd -python setup.py install 使用此方法会报错,解决使用:pip install setuptools 成功安装。
安装Selenium
- 前面安装pip是为了更方便的安装Selenium包,通过pip命令可直接安装:pip install Selenium。第二个坑Selenium安装成功,但是在最下面会报一个警告,大致的就是说pip的版本问题。
又重新更新了下pip:python -m pip install --upgrade pip
Paste_Image.png成功 !!继续~
编写第一个自动化脚本
Paste_Image.png- 第三个坑:原以为可以运行了, 没想到蹦出来个错误,大致是说geckodriver需要配置在环境变量中。
- 得了,别废话,下载吧 geckodriver下载地址
- 原来Selenium3有了一些比较大的改变,其中之一就是Webdriver从浏览器中分离出来了,所以需要单独安装。
- 第四个坑:下载的最新版本,紧跟潮流喵~geckodriver-v0.16.0-win64.zip,解压后装在任意文件夹都可以,然后再配置环境变量Path,丫的,又报错,一直在提示 “selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”。在网上查阅资料,大部分说是版本不兼容,火狐版本太高,这各种卸载,各种安装啊,欲哭无泪,还是报同样的错误,最后才知道,geckodriver版本装的高了,应该安装v0.15.0版本。
- 接着需要将Firefox的可执行程序路径也添加到环境变量中,最后添加完了所有环境变量。
- 最后重启IDLE,运行脚本,bingo~成功!!!
- 这段代码做了以下几件事:
1 导入Selenium Webdriver包,从而使用Webdriver API
2 获得浏览器对象,赋值给变量driver
3 通过get()方法,向浏览器发送网址
4 通过页面元素的定位,定位到百度输入框,并通过键盘输入方法send_keys(),向输入框中输入"Selenium2"
5 通过id定位百度一下搜索按钮,并发送click()单击事件
6 退出并关闭浏览器
安装浏览器驱动
- 各个浏览器驱动下载地址
- 安装Chrome浏览器驱动,下载ChromeDriver_win32.zip,无论你的操作系统是32位还是64位的,都管用。解压后,将chromedriver.exe放到 C:\Python35\目录下,之前已经将 C:\Python35放到系统环境变量Path下,所以这里不需要再次添加。
- 安装IE浏览器驱动,下载IEDriverServer_win32_xxx.zip,解压后同样放到C:\Python35\目录下。
- 安装成功后可以用IE和Chrome来替换Firefox运行上面的例子:
将driver=webdriver.Firefox()
替换为:
driver=webdriver.Chrome()
或:
driver=webdriver.Ie()
程序正常运行。