下面是自己学习的时候找的资料,安装后,遇到编码问题,然后找的解决方法,都齐了,好记性不如烂笔头,生命在于折腾
第一步:安装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
下载地址:
第三步:安装Python的包管理工具 pip—有点类似SetupTools ,但是比它强大
利用第二步安装的SetupTools进行安装,打开DOS界面,进入到目录:
C:\Python27\Scripts, 然后敲入命令: easy_install pip, 等待完成就OK。
第四步:安装基于Python的Selenium包
打开DOS界面,进入到目录: C:\Python27\Scripts
然后敲入命令: pip install selenium或者pip install –U selenium(用后一个貌似报错,用前一个可安装。)
安装时可能会有一些警告,暂不用管,安装完后如下,
第五步:验证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组件,则表示安装成功。
2、直接在Eclipse中选择菜单:Help—Install New Software..—Add,输入http://pydev.org/updates,下载并安装。
配置 PyDev
安装好 PyDev 之后,需要配置 Python/Jython 解释器,配置过程很简单。
在 Eclipse 菜单栏中,选择 Window > Preferences > Pydev > Interpreter - Python,在这里配置 Python/解释器,添加已安装的解释器。这里,Python 安装在 C:\Python27 路径下。单击 New,选择 Python 解释器 python.exe,打开后显示出一个包含很多复选框的窗口,选择需要加入系统 PYTHONPATH 的路径,单击 Ok。
第七步:执行Selenium实例
下面,我们来创建一个python项目。
在 Eclipse 菜单栏中,选择 File > New > Project > Pydev > Pydev Project,新建项目:PythonCase,单击 Next。
完成后如下:
创建 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 模块就建成了。
修改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,执行成功结果如下:
注意,如果有编码问题:可以用如下方法解决:
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清除