zoukankan      html  css  js  c++  java
  • selenium + python + windows 环境搭建

     主要参考虫师的文章,但他的文章里面有一些问题说得不是很详细,并且有些我遇到的问题他也没有说明,所以记录一下我遇到的问题。

    • 下载python并安装,并配置环境变量。

        下载的话,建议大家下载2.7的版本。地址是: https://www.python.org/download/releases/2.7.8/ ,并选择自己需要的版本,例如64的系统选择 Windows X86-64 MSI Installer (2.7.8) 

        安装就直接安装就行了。环境变量的配置也很方便,在path变量中添加python的安装路径就可以了,如“C:/Python27”

    • 下载并安装setuptools(python的基础工具包)

        下载地址是: https://pypi.python.org/pypi/setuptools#windows-7-or-graphical-install ,直接拉到底部,下载如setuptools-x.x.x.tar.gz就可以了。

        按照上面地址里面说明,只需要点击运行下载下来的安装包中的 ez_setup.py 文件即可安装。

        但这样安装有可能不会成功,会报UnicodeDecodeError的错,如果没报错的话就可以不看了,但如果报错的话,可以这样i修改,参考的是 http://blog.csdn.net/hugleecool/article/details/17996993 的内容。挺简单的,修改一个python文件就可以了。不过在修改前记得先备份。

    • 下载pip(python的安装包管理工具)

        下载地址是:https://pypi.python.org/pypi/pip#downloads , 点击那个绿色的“download”按钮,选择自己需要的版本下载,如 pip-x.x.x.tar.gz就可以了。

        随便下载到哪里,然后从命令行进入下载的文件夹下,执行命令“python setup.py install”, 等着它自己执行就可以了。

        再在命令行中切换到python的安装目录,如“C:/Python27/Scripts”下,执行命令“easy_install pip”

    • 安装selenium

        大家应该都是联网的吧。联网就比较方便。可以直接在命令行中执行。

        在命令行中进入到“C:/Python27/Scripts”目录下,执行命令“pip install -U selenium” 

    ====================================================================================================

      这样的话,基本就已经全部安装完成了。我省略了很多解释性的文字,专注在步骤和bug上做说明。如果大家希望可以比较深刻的了解原理,可以去虫师的博客,那里的资源很丰富。

    ====================================================================================================

      先来一个比较简单的例子吧。selenium的自动化网页测试默认是firefox的浏览器。如果你使用firefox的浏览器的话,就不需要其他的配置。

      下面是firefox的简单例子。

      

    # coding = utf-8
    
    from selenium import webdriver
    
    driver = webdriver.Firefox()
    
    driver.get('http://www.hi.baidu.com')
    
    print driver.title
    
    driver.quit()

      执行上面的这段代码,一般的情况下,可能又会报一个错:“ImportError:cannot import name webdriver”。这个可能是有一个文件叫selenium.py或selenium.pyc,和你的代码在同一个文件夹下,这样的话就会引起报错,删除或者改个名字就可以了。参考: http://www.cnblogs.com/bluescorpio/archive/2013/03/20/2971435.html 

      这个问题解决后,就可以看到一个新的Firefox窗口出现,并显示网址所示

    =======================================================================================================

      如果只是在firefox上做测试的话,到以上步骤就够了,但是大部分我们做测试,是需要多浏览器的。而我们平时用chrome比较多,这里讲解一下chrome如何做。

    =======================================================================================================

      首先要下载一个chromedriver.exe文件,并放在google的安装目录下:C:\Program Files (x86)\Google\Chrome\Application

      然后将代码改为如下:

    # coding = utf-8
    
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('http://www.hi.baidu.com')
    
    print driver.title
    
    driver.quit()

      可以发现,如果只是这样改的话,还是会报错的,如下:

    selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.                 Please download from http://chromedriver.storage.googleapis.com/index.html                and read up at http://code.google.com/p/selenium/wiki/ChromeDriver' 

      这是因为Chrome不是默认的浏览器,只是简单的在代码中调用是不行的。只有如下代码才能执行成功:

    # coding = utf-8
    
    import os
    from selenium import webdriver
    
    chrome = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'
    os.environ["webdriver.chrome.driver"] = chrome
    driver = webdriver.Chrome(chrome)
    
    driver.get('http://www.hi.baidu.com')
    
    print driver.title
    
    driver.quit()

      还有其他浏览器如下IE,可以参考文档:http://blog.csdn.net/candle806/article/details/9023873 ,我就说参考这里得到的结果。

    Bon Appetite

  • 相关阅读:
    我经历的IT公司面试及离职感受(转)
    一个优异的经理人,碰到糟糕的企业,最后往往存在的还是那间糟糕的企业(转)
    Android TextView和EditText属性详解
    Android EditText控件行尾为表情时的BUG
    Android安全问题 抢先拦截短信
    Android安全问题 抢先开机启动
    Android安全问题 抢先接收广播
    Android安全问题 抢先接收广播
    Android 监听EditView中的文本改变事件
    Android EditText中插入图片并响应点击事件
  • 原文地址:https://www.cnblogs.com/zhawj159753/p/3833375.html
Copyright © 2011-2022 走看看