Python selenium chrome 环境配置
Python selenium chrome 环境配置 一、参考文章: 1. 记录一下python easy_install和pip安装地址和方法 http://heipark.iteye.com/blog/1916758 2. selenium + python自动化测试环境搭建 http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html 3. Python-selenium-Firefox-chrome-IE问题解决方法 http://blog.csdn.net/lcm_up/article/details/38302143 4. ChromeDriver - WebDriver for Chrome Getting started https://sites.google.com/a/chromium.org/chromedriver/getting-started 二、Windows PowerShell 1. 【win】键 2. 键入:Windows PowerShell + 【Enter】键 三、Python setuptools 18.4 安装: 1. download:https://pypi.python.org/pypi/setuptools 2. 跳到ez_setup.py所在的目录 3. python .\ez_setup.py 四、Python pip 7.1.2 安装: 1. download:https://pypi.python.org/pypi/pip#downloads 2. 跳到解压出来的目录下的setup.py所在的目录 3. python setup.py install 五、Python selenium 2.48.0 安装: 1. download:https://pypi.python.org/pypi/selenium 2. 跳到解压出来的目录下的setup.py所在的目录 3. python setup.py install 六、chrome driver 1. download:http://chromedriver.storage.googleapis.com/index.html?path=2.20/ 2. 解压拷贝文件到:D:\python2_7\chromedriver_win32\chromedriver.exe 3. 创建一个chrome浏览器实例: driver = webdriver.Chrome('D:\python2_7\chromedriver_win32\chromedriver') ##可以替换为IE(), FireFox() 七、Test Demo(请确保能访问Google): #!/usr/bin/python # -*- coding: utf-8 -*- import os from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 import time # Create a new instance of the browser driver driver = webdriver.Chrome('D:\python2_7\chromedriver_win32\chromedriver') ##可以替换为IE(), FireFox() # go to the google home page driver.get("http://www.google.com") # find the element that's name attribute is q (the google search box) inputElement = driver.find_element_by_name("q") # type in the search inputElement.send_keys("Cheese!") # submit the form. (although google automatically searches now without submitting) inputElement.submit() # the page is ajaxy so the title is originally this: print driver.title try: # we have to wait for the page to refresh, the last thing that seems to be updated is the title WebDriverWait(driver, 10).until(lambda driver : driver.title.lower().startswith("cheese!")) # You should see "cheese! - Google Search" print driver.title finally: #driver.quit() # 当前使用 driver.quit()会导致如下错误 # Traceback (most recent call last): # File "E:/python/Spider/Spider.py", line 39, in <module> # driver.quit() # File "D:\python2_7\install\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\chrome\webdriver.py", line 88, in quit # self.service.stop() # File "D:\python2_7\install\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\chrome\service.py", line 111, in stop # url_request.urlopen("http://127.0.0.1:%d/shutdown" % self.port) # File "D:\python2_7\install\lib\urllib2.py", line 126, in urlopen # return _opener.open(url, data, timeout) # File "D:\python2_7\install\lib\urllib2.py", line 397, in open # response = meth(req, response) # File "D:\python2_7\install\lib\urllib2.py", line 510, in http_response # 'http', request, response, code, msg, hdrs) # File "D:\python2_7\install\lib\urllib2.py", line 435, in error # return self._call_chain(*args) # File "D:\python2_7\install\lib\urllib2.py", line 369, in _call_chain # result = func(*args) # File "D:\python2_7\install\lib\urllib2.py", line 518, in http_error_default # raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) # urllib2.HTTPError: HTTP Error 404: Not Found driver.close()