自动化测试入门,总结一下安装selenium、python以及配置webdriver遇到的问题:

准备工作:

1、下载火狐浏览器并安装插件selenium IDE、Firebug~~

2、下载安装python,并配置环境变量

3、下载setuptools(python基础工具包)并解压,通过cmd命令进入该解压目录,执行文件setup.py

  E:\Software\python\setuptools-28.8.0>python setup.py install

网上很多资料都说执行ez_setup.py文件,然后本人下载的28.8.0版本的并没有ez_setup.py文件,于是就尝试执行setup.py发现可以运行~

4、下载pip(python的安装包管理工具)并解压,通过cmd命令进入该解压目录,执行文件setup.py

  E:\Software\python\pip-9.0.1>python setup.py install

  然后切换到python目录Scripts文件夹下执行 D:\Programs\Python\Python35-32\Scripts>easy_install pip

5、下载selenium3

  可直接使用cmd命令下载,在python的安装路径scripts文件下运行:

    D:\Programs\Python\Python35-32\Scripts> pip install -U selenium

  或者直接下载selenium,并解压文件夹将整个目录放到D:\Programs\Python\Python35-32\Lib\site-packages目录下。

这里我下载的selenium3.0.1版本解压后文件夹名是“selenium-3.0.1”,然后尝试以下脚本:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()

报错ImportError: No module named “selenium”。解决办法:将“selenium-3.0.1”文件夹重命名为“selenium”,如果不改文件夹名称,导入包名的时候就必须用文件夹的名字,即from selenium-3.0.1 import webdriver而“-”为非法字符也会报错,可以使用selenium3.0.1这种命名,总之名称要相同才能识别。

重命名为selenium后继续运行~

接着是webdriver报错selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.这里如果你的火狐浏览器安装不是默认路径,需要修改Python的两个文件配置(即path改为firefox的安装路径),

D:\Programs\Python\Python35-32\Lib\site-packages\selenium-3.0.1-py3.5.egg\selenium\webdriver\firefox的

webdriver.py文件中修改为

def_init_(self,firefox_profile=None,firefox_binary=FirefoxBinary("D:/Program Files (x86)/Mozilla Firefox/firefox.exe")

Firefox_binary.py文件中修改为

def_init_(self,firefox_path="D:/Program Files (x86)/Mozilla Firefox/firefox.exe",log_file=None);

然后再次尝试,仍然报错,网上查资料说selenium 3.x开始,webdriver/firefox/webdriver.py的__init__中,executable_path="geckodriver";而2.x是executable_path="wires",firefox 47以上版本,需要下载第三方插件geckodriver,下载到任意目录,解压后将该路径加入到PC的path。

仍然报错!!!尝试直接把geckodriver.exe放到python的根目录下,由于python的路径已经配置过且成功了,所以geckodriver的路径就不用单独配置了,这么一试调用的浏览器果然打开了!但是仍然报错WebDriverException:Unsupported Marionette protocol version 2 , required 3 ,这个报错在网上几乎查不到资料,折腾了两天,做了无数的尝试:

  把火狐浏览器卸载重装,安装至默认路径(webdriver.py和firefox_binary.py文件恢复原来的代码)。

  python也卸载重装,安装至默认路径(本人原来的python是很久以前安装的,那时候也不懂里面的任何含义,重新安装时发现python3.5.2可以自动配置环境变量,且安装时可以勾选pip、setuptools等工具包,后面这些工具的安装就都免了,但是selenium还是需要手动安装或者用cmd命令下载安装,不要忘了geckodriver.exe放到python路径下)

  降低火狐版本(降低火狐版本要注意把火狐的自动更新关掉,以免它自动升级回最新版本),原本是最新版本,后来降到42报错WebDriverException:Missing ‘marionetteProtocol’ field in handshake,也就是火狐版本高或者低都会报错。

  修改脚本browser = webdriver.Firefox()改为browser = webdriver.Firefox(“executable_path="C:\Users\FF\AppData\Local\Programs\Python\Python35\geckodriver.exe"),把geckodriver的绝对路径直接写到脚本里,直接告诉它插件在哪,免得它总是找不到。

  更换geckodriver版本,下载了11.1.1、11.1.0、11.10.0三个版本,更换尝试。

  最后也不知道哪一步是关键,总之最后,python3.5、selenium3.0.1、geckodriver版本11.1.1,火狐浏览器不小心被更新到最新50的,脚本跑通了!!!如释重负~然后把webdriver.Firefox()里的绝对路径去掉,也没问题(难道是它第一次找不到路径,给它指条路认识了,后面就能自己找到了?)

  后记总结:

  1、第三方插件geckodriver很关键,火狐47+版本需要安装geckodriver.exe

  2、geckodriver.exe的路径配置在系统变量Path下即可,我之所以放到python路径下,是为了方便,以及前面遇到的问题太多,网上有人建议这么放,确实有效果~

  3、火狐浏览器如果没有安装至默认目录,webdriver.py和firefox_binary.py的配置需要更改

  4、各软件及插件之间的版本匹配很微妙,至今也没有明白~

万事开头难,学习永无止尽~~~~~~~

selenuim +python环境配置遇到的诸多问题的更多相关文章

  1. 1 python学习——python环境配置

    1 python学习--python环境配置 要学习python语言,光看书看教程还是不好,得动手去写.当然,不管学习什么编程语言,最佳的方式还在于实践. 要实践,先得有一个Python解释器来解释执 ...

  2. VScode中python环境配置

    vscode中python环境配置 想要在vscode中运行python代码必须要告诉vscode使用哪个解释器才行 方法1. 打开命令面板(Ctrl+Shift+P)输入Python: Select ...

  3. MxNet C++和python环境配置

    MxNet C++和python环境配置 安装文件: 1.为了与python已经安装好的版本一致,在这个网站下载mxnet 1.0.0的源码 https://github.com/apache/inc ...

  4. 1.python环境配置 - python基础入门

    工欲善其事必先利其器,python学习首先要做得就是配置python环境.配置环境只需要下载Pycharm 和 Anaconda两个安装包即可,请跟上我得步伐,一步一步操作. 重要的事情说三遍: 先安 ...

  5. VsCode中编写python环境配置

    1. VsCode中编写python环境配置 1.1. 前言 有过开发经验都知道idea一系列的软件虽然功能比较多,但比较容易卡,电脑不好还真容易上火,这里我想要入门python,还是选了款vscod ...

  6. Python环境配置安装

    2016年12月20日14:15:23 -------------- 参考菜鸟教程: Python 环境搭建 | 菜鸟教程  http://www.runoob.com/python/python-i ...

  7. thrift 服务端linux C ++ 与客户端 windows python 环境配置(thrift 自带tutorial为例)

    关于Thrift文档化的确是做的不好.摸索了很久才终于把跨linux与windows跨C++与python语言的配置成功完成.以下是步骤: 1)                 Linux下环境配置 ...

  8. Selenium WebDriver + Python 环境配置

    1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...

  9. Python环境配置及项目建立

    一.安装Python Python比较稳定的两个版本是Python 3.5和Python 2.7,我用的是Python 2.7,下载地址是:https://www.python.org/downloa ...

随机推荐

  1. sea.js,spm学习

    安装spm 下载sea.js 运行spm npm install spm@2.x -g npm install spm-build -g 下载sea.js git clone https://gith ...

  2. 采用python获得并修改文件编码(原创)

    windows和linux采用了不同的编码,这让很多人伤透了脑经,这里我采用了Python的chardet库获得代码的编码,然后修改编码. 1.首先需要安装chardet库,有很多方式,我才用的是比较 ...

  3. AOP和IOC理解

    在百度上看到一篇很有意思的文章,是对AOP的一种解释,如下:(摘自:百度文库的 AOP和IOC最容易理解的说明(Spring知识小计)): IOC,依赖倒置的意思, 所谓依赖,从程序的角度看,就是比如 ...

  4. Java Fx-安装E(FX)CLIPSE IDE

    安装E(FX)CLIPSE IDE 本文主要介绍如何在Eclipse Mars 4.5.0版本上安装e(fx)clipse. 本文中的介绍和截图使用了纯净安装的为RCP和RAP开发者准备的Eclips ...

  5. IP工具类——IpAddress.java

    根据IP地址获取详细的地域信息,也可通过 http://whois.pconline.com.cn/ 获取地址信息. 源码如下:(点击下载  IpAddress.java) import java.i ...

  6. Visual Studio 内置快速生产代码简写集合

    工作之余,整理了一下,Visual Studio 里面的快速生产代码缩写集合,这个拿出来分享想一下,希望对您有所帮助. 文件下载地址:VS内置生产代码缩写集合文档.rar 首字母 简写 生成代码 a ...

  7. 李洪强漫谈iOS开发[C语言-031]-逻辑短路

  8. NavigationDrawer+Fragment实现侧滑菜单效果

    学习了NavigationDrawer 官方Support包中的SlidingMenu版本,练了下手.用到了ListView中item不同的布局 以后会升级加上ViewPager和GridView实现 ...

  9. 【HDOJ】3127 WHUgirls

    #include <stdio.h> #include <string.h> #define mymax(a, b) (a>b) ? a:b typedef struct ...

  10. 利用if else判断几点是什么时间段

    static void Main(string[] args)        {            while (true)            {                int a;  ...