一种是真实的浏览器driver:safari、firefox、ie、chrome等
比如:safari、firefox、ie、chrome都是通过浏览器原生组件来调用浏览器的原生API,这些driver都是直接启动并通过调用浏览器的底层接口来驱动浏览器的,因此具有最真实的用户场景模拟,主要用于进行web的兼容性测试使用。
一种是伪浏览器driver:htmlunit、PhantomJS
selenium支持的伪浏览器包括htmlunit、PhantomJS;他们都不是真正的在浏览器运行、都没有GUI而是具有支持html、js 等解析能力的类浏览器程序;
这些程序不会渲染出网页的显示内容,但是支持页面元素的查找、JS的执行等;由于不进行css及GUI渲染,所以运行效率上会 比真实浏览器要快很多,主要用在功能性测试上面。
下面主要介绍两种伪浏览器的简单调用方法和对比,后续会单独介绍Firefox和Ie浏览器调用的详细内容及各类问题解决方法。
HTMLunit调用
HtmlUnit 官方网站:http://htmlunit.sourceforge.net/
本文采用本地的API查看地址来测试,可参考:前面的Selenium Python浏览器调用:Firefox文章中“如何查看python selenium的API来开启地址
方法一:
#coding=utf-8 from selenium import webdriver from time import ctime from time import sleep from selenium.webdriver.common.desired_capabilities import DesiredCapabilities print ctime() driver=webdriver.Remote(command_executor="http://127.0.0.1:5555/wd/hub",desired_capabilities=DesiredCapabilities.HTMLUNIT) driver.get("http://127.0.0.1:4567") driver.find_element_by_partial_link_text("selenium").click() print driver.title print driver.current_url print driver.name print ctime() driver.close() |