美文网首页我爱编程
selenium菜鸟历程-报错indriver=webdrive

selenium菜鸟历程-报错indriver=webdrive

作者: PopStar_Z | 来源:发表于2016-09-03 14:23 被阅读0次

    安装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

    相关文章

      网友评论

        本文标题:selenium菜鸟历程-报错indriver=webdrive

        本文链接:https://www.haomeiwen.com/subject/ujwkettx.html