美文网首页我爱编程
(转载)windows下搭建Selenium+Eclipse+P

(转载)windows下搭建Selenium+Eclipse+P

作者: 加菲猫Jack | 来源:发表于2017-06-13 11:43 被阅读0次

    下面是自己学习的时候找的资料,安装后,遇到编码问题,然后找的解决方法,都齐了,好记性不如烂笔头,生命在于折腾
    第一步:安装Python
    根据下面的地址,直接一键安装,全部默认方式。
    下载地址:http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi
    安装到C:\Python27,设置Python环境变量,Path = E:\Python27;(前面安装JDK时,已经有了Path环境变量,这里直接加在最前面即可,注意Python27后面的‘;’)
    第二步:安装Python的SetupTools
    其实SetupTools就是一个帮助你安装第三方工具包的增强工具软件,根据下面的地址下载,然后按下一步一键安装。
    setuptools-0.6c11.win32-py2.7.exe.exes
    下载地址:
    http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20
    第三步:安装Python的包管理工具 pip—有点类似SetupTools ,但是比它强大
    利用第二步安装的SetupTools进行安装,打开DOS界面,进入到目录:
    C:\Python27\Scripts, 然后敲入命令: easy_install pip, 等待完成就OK。

    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第1张
    第四步:安装基于Python的Selenium包
    打开DOS界面,进入到目录: C:\Python27\Scripts
    然后敲入命令: pip install selenium或者pip install –U selenium(用后一个貌似报错,用前一个可安装。)
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第2张
    安装时可能会有一些警告,暂不用管,安装完后如下,
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第3张
    第五步:验证Selenium安装是否成功
    在记事本中编写下面的代码:(保存为 pytest.py,然后双击直接运行即可!)
    from selenium import webdriver
    browser = webdriver.Firefox()
    browser.get("http://www.yahoo.com")
    assert "Yahoo!" in browser.title
    browser.close()
    如果代码运行成功,就表示Selenium安装成功了! Very Good!

    实际操作中此处报错:

    错误代码如下:File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 65, in init self.service.start() File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriver/common/service.py", line 71, in start os.path.basename(self.path), self.start_error_message)selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
    Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.del of <selenium.webdriver.firefox.service.Service object at 0x7f753ad53390>> ignored

    网络上找到答案:

    1. selenium 3.x开始,webdriver/firefox/webdriver.py的init中,executable_path="geckodriver";而2.x是executable_path="wires"2. firefox 47以上版本,需要下载第三方driver,即geckodriver;在http://docs.seleniumhq.org/download/**的Third Party Drivers, Bindings, and Plugins下面找到Mozilla GeckoDriver**,下载到任意电脑任意目录,解压后将该路径加入到PC的path(针对windows)即可。
      作者:iceblue iceblue链接:https://www.zhihu.com/question/49568096/answer/119324584来源:知乎

    第六步:python的开发环境配置-Eclipse-PyDev插件安装
      安装PyDev插件的两种安装方法:
      1、百度搜索PyDev 2.4.0.zip,下载后解压,得到Plugins和Feature文件夹,复制两文件夹到Eclipse目录,覆盖即可。
    完成后重启Eclipse,若在Eclipse菜单Help->About Eclipse->Installation Detail->Plug-ins,能看到PyDev组件,则表示安装成功。

    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第4张
      2、直接在Eclipse中选择菜单:Help—Install New Software..—Add,输入http://pydev.org/updates,下载并安装。
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第5张
      配置 PyDev
    安装好 PyDev 之后,需要配置 Python/Jython 解释器,配置过程很简单。
    在 Eclipse 菜单栏中,选择 Window > Preferences > Pydev > Interpreter - Python,在这里配置 Python/解释器,添加已安装的解释器。这里,Python 安装在 C:\Python27 路径下。单击 New,选择 Python 解释器 python.exe,打开后显示出一个包含很多复选框的窗口,选择需要加入系统 PYTHONPATH 的路径,单击 Ok。
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第6张
    第七步:执行Selenium实例
    下面,我们来创建一个python项目。
    在 Eclipse 菜单栏中,选择 File > New > Project > Pydev > Pydev Project,新建项目:PythonCase,单击 Next。
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第7张
    完成后如下:
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第8张
    创建 Python 包和模块
    接下来,在刚创建的项目中开始创建 Python 包和模块。
    进入 Pydev 透视图,在 Python Package Explorer 中,右键单击 src,选择 New->Pydev Package,输入 Package 名称Python27。
    单击 Finish,Python 包就创建好了,此时,自动生成init.py 文件,该文件不包含任何内容。
    注意:
    如果在创建项目的时候没有选中“Create default src folder and add it to the pythonpath”复选框,则需要通过 File > New > Other > Source Folder 手动创建一个源代码文件夹src。
    创建完 Pydev Package 后,右键单击创建的包,选择 New->Pydev Module,输入模块名称PythonCase1.py Finish。这样,Python 模块就建成了。
    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第9张
    修改PythonCase1.py内容如下:

    -- conding=utf-8 --

    from selenium import webdriver
    if name == "main":
    driver = webdriver.Firefox()
    driver.implicitly_wait(30)
    driver.get("http://www.google.com.hk")
    driver.find_element_by_name("q").send_keys("hello Selenium!")
    driver.find_element_by_name("q").submit()
    print 'Page title is:',driver.title
    driver.quit()
    执行脚本
    运行Run_selenium.bat,启动Selenium RC服务器。右击PythonCase1.py,Run As->Python Run,执行成功结果如下:

    (转载)windows下搭建Selenium+Eclipse+Python环境 Tester 第10张
    注意,如果有编码问题:可以用如下方法解决:

    Python 2.7安装setuptools时的UnicodeDecodeError解决办法
    [python] view plain copy

    Traceback (most recent call last):

    File "c:\docume1\admini1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setup.py", line 17, in <module>

    exec(init_file.read(), command_ns)  
    

    File "<string>", line 8, in <module>

    File "c:\docume1\admini1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools_init_.py", line 11, in <module>

    from setuptools.extension import Extension  
    

    File "c:\docume1\admini1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\extension.py", line 5, in <module>

    from setuptools.dist import _get_unpatched  
    

    File "c:\docume1\admini1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\dist.py", line 15, in <module>

    from setuptools.compat import numeric_types, basestring  
    

    File "c:\docume1\admini1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\compat.py", line 19, in <module>

    from SimpleHTTPServer import SimpleHTTPRequestHandler  
    

    File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in <module>

    class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):  
    

    File "C:\Python27\lib\SimpleHTTPServer.py", line 208, in SimpleHTTPRequestHandler

    mimetypes.init() # try to read system mime.types  
    

    File "C:\Python27\lib\mimetypes.py", line 358, in init

    db.read_windows_registry()  
    

    File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry

    for subkeyname in enum_types(hkcr):  
    

    File "C:\Python27\lib\mimetypes.py", line 249, in enum_types

    ctype = ctype.encode(default_encoding) # omit in 3.x!  
    

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9: ordinal not in range(128)

    排查半天未果,GOOGLE之,发现是Python 2.7的Bug,确切的说是Python安装目录下的Lib/mimetypes.py下的BUG,解决方案见地址:http://bugs.python.org/review/9291/diff/1663/Lib/mimetypes.py
    如果想省事可以直接下载附件内的mimetypes.py,已经按照上述网址修改完毕,测试后可以正常运行。点此下载:mimetypes.py
    记得将源文件备份哦,还有记得将mimetypes.pyc清除

    相关文章

      网友评论

        本文标题:(转载)windows下搭建Selenium+Eclipse+P

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