Python+Selenium2自动化测试之IE、chrome浏览器启动

构建Python+Selenium2自动化测试环境完成之后,就需要测试支持pythonselenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试。

  1、在IE浏览器上运行测试脚本,首先需要下载IEDriverServer.exe,放在IE浏览器的安装目录且同级目录下,脚本如下:

Python+Selenium2自动化测试之IE、chrome浏览器启动
import os 
from selenium import webdriver
from selenium.webdriver.common.keys import Keys iedriver="C:\Program Files\Internet Explorer\IEDriverServer.exe"os.environ["webdriver.ie.driver"] =iedriver driver=webdriver.Ie(iedriver)
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()
Python+Selenium2自动化测试之IE、chrome浏览器启动

  2、在Chrome浏览器上运行测试脚本,首先需要下载ChromeDriver.exe,放在Chrome浏览器的安装目录且同级目录下,脚本如下:

Python+Selenium2自动化测试之IE、chrome浏览器启动
import os 
from selenium import webdriver
from selenium.webdriver.common.keys importKeys chromedriver="C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"os.environ["webdriver.chrome.driver"] =chromedriver driver=webdriver.Chrome(chromedriver)
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()
Python+Selenium2自动化测试之IE、chrome浏览器启动

  3、在Firefox浏览器上运行测试脚本,具体如下:

Python+Selenium2自动化测试之IE、chrome浏览器启动
from selenium import webdriver
from selenium.webdriver.common.keys importKeys driver=webdriver.Firefox()
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()
Python+Selenium2自动化测试之IE、chrome浏览器启动

  总结:通过以上三个不同浏览器上的测试,说明selenium在python中的运用于其Java版本都是一样。由于Firefox是默认安装路径,webdriver可以正常访问找到他,如果非系统默认安装路径,则需要跟IE和Chrome一样来设置driver路径。实际上直接把driver驱动放到对应浏览器的默认安装路径下,然后设置PATH到该路径,即可成功启动,但是要注意调用时的大小写问题,比如webdriver.Ie(),绝对不能写成webdriver.ie(),否则会报错:module is not callable.

安装后调用报错:selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' execu table needs to be in PATH.,实际上已经将该driver的路径加到系统环境变量Path中了。

这个问题有两种解决方式,如果第一种不行,再试下第二种:

1、将chromedriver.exe放到python的安装路径下:C:\Python27,然后再调用

2、进入C:\Python27\Lib\site-packages\selenium\webdriver\chrome路径下,打开webdriver.py文件,将第33行代码中的executable_path="chromedriver"替换为chromedriver实际所在路径。

以上两种方式都亲测可行~

上一篇:【python爬虫】利用selenium和Chrome浏览器进行自动化网页搜索与浏览


下一篇:元素定位工具ChroPath - Chrome浏览器插件