windows下搭建Selenium+Eclipse+Python环境

时间:2021-01-29 18:43:28

下面是自己学习的时候找的资料,安装后,遇到编码问题,然后找的解决方法,都齐了,好记性不如烂笔头,生命在于折腾

第一步:安装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环境

第四步:安装基于Python的Selenium包

打开DOS界面,进入到目录: C:\Python27\Scripts

然后敲入命令: pip install selenium或者pip install –U selenium(用后一个貌似报错,用前一个可安装。)

windows下搭建Selenium+Eclipse+Python环境

安装时可能会有一些警告,暂不用管,安装完后如下,

windows下搭建Selenium+Eclipse+Python环境

 第五步:验证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!

第六步: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环境

  2、直接在Eclipse中选择菜单:Help—Install New Software..—Add,输入http://pydev.org/updates,下载并安装。

         windows下搭建Selenium+Eclipse+Python环境

  配置 PyDev

安装好 PyDev 之后,需要配置 Python/Jython 解释器,配置过程很简单。

在 Eclipse 菜单栏中,选择 Window > Preferences > Pydev > Interpreter - Python,在这里配置 Python/解释器,添加已安装的解释器。这里,Python 安装在 C:\Python27 路径下。单击 New,选择 Python 解释器 python.exe,打开后显示出一个包含很多复选框的窗口,选择需要加入系统 PYTHONPATH 的路径,单击 Ok。

windows下搭建Selenium+Eclipse+Python环境

第七步:执行Selenium实例

下面,我们来创建一个python项目。

在 Eclipse 菜单栏中,选择 File > New > Project > Pydev > Pydev Project,新建项目:PythonCase,单击 Next。

 windows下搭建Selenium+Eclipse+Python环境

 完成后如下:

 windows下搭建Selenium+Eclipse+Python环境

创建 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环境

修改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环境

注意,如果有编码问题:可以用如下方法解决:

Python 2.7安装setuptools时的UnicodeDecodeError解决办法

Traceback (most recent call last):
File "c:\docume~1\admini~1\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:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\__init__.py", line 11, in <module>
from setuptools.extension import Extension
File "c:\docume~1\admini~1\locals~1\temp\tmpbg7qjrpycharm-management\setuptools-1.1.5\setuptools\extension.py", line 5, in <module>
from setuptools.dist import _get_unpatched
File "c:\docume~1\admini~1\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:\docume~1\admini~1\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清除