标签:
在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持。目前selenium包中已包含webdriver,help(webdriver) 查看其下package;也可以查看源文件
firefox是selenium支持得比较成熟的浏览器,很多新的特性都会在firefox中体现。但是做页面的测试,启动速度比较慢,启动以后运行速度还是可以接受的。可直接启动firefox浏览器,参见如下代码:
# !/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver browser = webdriver.Firefox() browser.get(‘http://www.baidu.com‘)
注意:你的电脑需要已装Firefox,执行后会新开一Firefox窗口,并执行打开百度首页的操作。
启动 chrome 需要下载 chromedriver,google 下载地址:http://chromedriver.storage.googleapis.com/index.html; 被禁就下这个吧:http://pan.baidu.com/s/1dD8Mn1f
将该exe放入chrome程序包中,如
将该地址添加入 path 环境变量中,如:D:\chrome(X64)-38.0.2125.101\Chrome-bin
同样的,启动 chrome 打开百度首页,参见如下代码:
# !/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver browser = webdriver.Chrome() browser.get(‘http://www.baidu.com‘)
若仍执行出错,建议查看下chrome版本,可能就是chrome本身的问题,或者参看下方使用os变量的方式。
启动 IE 类似 chrome,需要下载 IEdriver,google 下载地址:https://code.google.com/p/selenium/downloads/list; 被禁就下这个吧:
类似操作将此 exe 放入IE程序包及加入 path;代码同chrome的,差别只在 browser = webdriver.Ie() ;
若环境变量启动 webdriver 方式有问题,代码执行报错,可使用os变量方式,参考如下代码(chrome 也可使用类似代码):
# !/usr/bin/env python # -*- coding:utf-8 -*- from os import environ from selenium import webdriver iedriver = "C:\Program Files\Internet Explorer\IEDriverServer.exe" environ["webdriver.ie.driver"] = iedriver driver = webdriver.Ie(iedriver) driver.get("http://www.baidu.com")
除了 Firefox、chrome、IE 以外,可看到 opera 、Safari 等也可支持,这边就不一一介绍了,如果想要了解,可google
可写一个 .py 来启动浏览器,测试代码仅需 import,详见后续测试框架相关章节。
1 # !/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 from os import environ 5 from selenium import webdriver 6 7 ff = webdriver.Firefox() # Firefox 8 ff.maximize_window() # full-window 9 10 chromedriver = "C:\Users\sisi\AppData\Local\Google\Chrome\Application\chromedriver.exe" 11 environ["webdriver.chrome.driver"] = chromedriver 12 chrome = webdriver.Chrome(chromedriver) # Chrome 13 chrome.maximize_window() # full-window 14 15 iedriver = "C:\Program Files\Internet Explorer\IEDriverServer.exe" 16 environ["webdriver.ie.driver"] = iedriver 17 ie = webdriver.Ie(iedriver) # IE 18 ie.maximize_window() # full-window 19 20 21 ‘‘‘ Your testing code should be here ‘‘‘ 22 23 TEST_URL = "http://www.baidu.com" 24 25 ff.get(TEST_URL) 26 chrome.get(TEST_URL) 27 ie.get(TEST_URL)
标签:
原文地址:http://www.cnblogs.com/feeland/p/4432444.html