我爱编程

selenium菜鸟历程-报错indriver=webdrive

2016-09-03  本文已影响0人  PopStar_Z

安装Python---配置环境添加到PATH---安装setuptools和pip----安装selenium
安装完成pip后将Python27文件夹下的Script环境变量同样添加到PATH中
IDLE(Python GUI)
打开Python GUI,选择File-New File 或使用快捷方式Ctrl+N
编写第一个自动化脚本:

#coding=utf-8
from selenium import webdriver

driver = webdriver.Firefox
driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click
driver.quit()

保存为.py文件,按快捷键F5,出现报错信息:

File "D:/桌面/bau.py", line 4, indriver=webdriver.Firefox()       
File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 77, in __init__

出现以上错误的原因是:Firefox浏览器版本太高,需要使用较低的版本进行测试。
解决方案:1、使用较低版本Firefox
2、使用chrome或IE
方案一不再叙述,这里讲解一下配置chrome与IE驱动
1、第一种下载chromedriver.exe,并放在本地安装的chrome.exe同级目录下
(我的chrome安装在这个地址了)C:\Users\Administrator\AppData\Local\Google\Chrome\Application
2、上述脚本改为

#coding=utf-8
from selenium import webdriver

chromedriver = "C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chromedriver)
driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click
driver.quit()

将chromedriver.exe的地址赋值给chromedriver,再将webdriver的chrome对象赋值给变量driver

按快捷键F5,运行脚本


第二种简单的方法是:
将下载的chromedriver.exe文件,放到C:\python27\目录下,安装IE浏览器驱动,下载的IEdriverServer.exe文件同样放在C:\python27\目录下
并将驱动文件.exe添加到环境变量中(例如:G:\Python27\chromedriver.exe)

代码修改:

将driver=webdriver.Firefox()
替换为:
driver=webdriver.Chrome()   或 driver=webdriver.Ie()
#coding=utf-8
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click
driver.quit()

selenium之 chromedriver与chrome版本映射表,简单写了前面几个版本的

chromedriver版本  支持的Chrome版本
v2.37                   v64-66
v2.36                   v63-65
v2.35                   v62-64
v2.34                   v61-63
v2.33                   v60-62
v2.32                   v59-61
v2.31                   v58-60
v2.30                   v58-60
v2.29                   v56-58
v2.28                   v55-57
v2.27                   v54-56
v2.26                   v53-55
……
  1. 所有版本chrome下载

是不是很难找到老版本的chrome?收集了几个下载chrome老版本的网站,其中哪个下载的是原版的就不得而知了。

http://www.slimjet.com/chrome/google-chrome-old-version.php
http://google_chrome.en.downloadastro.com/old_versions
http://filehippo.com/zh/download_google_chrome
http://www.chromedownloads.net/](http://www.chromedownloads.net

下面这个网址大多是Mac的多些,Windows下的很缺,但是有好多其他的软件下载,可以去看看:
http://google-chrome.en.uptodown.com/mac/old

  1. 所有版本firefox下载

火狐相对比较容易找,这里也贴出来其ftp链接:
http://ftp.mozilla.org/pub/firefox/releases/

至于火狐的版本与selenium的对应关系,确实没有这方面合适的资料,不过建议selenium 2.53以及以下的朋友,用47以下的火狐。

  1. 所有版本chromedriver下载

chromedriver的版本也不容易找:
http://chromedriver.storage.googleapis.com/index.html

其中各版本下的notes.txt中说明了该版本以及以前一些版本支持的chrome浏览器版本,不过,老司机早就给你整理了一份一目了然的表格:

selenium之 chromedriver与chrome版本映射表
http://blog.csdn.net/huilan_same/article/details/51896672

这样,该下载哪个版本的chrome与chromedriver是不是就很清楚了。

  1. 所有版本selenium以及IEDriverServer下载

最后,当然还有selenium和IEDriverServer,Python版的selenium直接pip就可以了,下面的链接里主要是Java版的和.NET版的:

http://selenium-release.storage.googleapis.com/index.html

部分内容出自博客:https://blog.csdn.net/huilan_same/article/details/52615123

上一篇下一篇

猜你喜欢

热点阅读