前面文章介绍了,如何调用webdriver接口方法来打开和关闭Firefox浏览器,本文介绍如何打开IE和Chrome浏览器。web项目,需要做兼容性测试,最重要的是浏览器兼容性测试。如果只考虑windows平台,相信应该很多公司必须要测试IE、Firefox、Chrome这三大浏览器。所以webui 自动化测试,也需要在这三大浏览器上面运行和测试脚本。从前面文章,我们知道,要调用Firefox浏览器,我们需要下载geckodriver.exe这个文件,放到Python的安装路径下,例如在安装Python是默认安装,路径就是C:\Python27;同样的道理,如果要启动IE和谷歌浏览器,也需要下载相关的插件,放到Python安装路径(C:\Python27,和python.exe在同一级目录下)。
在Selenium官方网站,可以下载最新发布的不同浏览器的插件支持文件,IE(IEDriverServer.exe)、Chrome(chromedriver.exe),下载的时候注意下,IE有32位和64位下载文件,chrome目前暂时只有32bit一个文件。下载好了,放到C:\Python27,和python.exe在同一级目录下。由于国内网络一般无法直接方法Selenium站点,我把这三个三件放在百度云盘,点击这里。
运行本文下面的代码,有一个前提条件,IE,Chrome,Firefox都是默认安装在C盘,安装的时候不需要去更改安装路径。如果有不是默认安装的,请卸载Firefox,重新下载文件,默认安装到C盘。请相信我,不要浪费时间在,如何启动非默认安装位置下的Firefox浏览器。
1. 如何启动Chrome
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window() # 最大化浏览器
driver.implicitly_wait(8) # 设置隐式时间等待
driver.get("https://www.baidu.com")
driver.quit()
2. 如何启动IE
from selenium import webdriver
driver = webdriver.Ie()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")
driver.quit()
注意:可能出现的报错
Exception: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.
解决办法:Internet选项->安全; 把Internet站点,本地Intrant,受信任站点 三个地方的安全界面都设置相同等级,例如都设置中; 再次运行代码就可以用IE打开百度了。
总结:目前,由于IE的不稳定性和速度问题,建议采用火狐或者谷歌浏览器来测试和debug自动化脚本。
原文地址:https://www.cnblogs.com/wangyinghao/p/10162013.html