方法二:
#coding=utf-8 from selenium import webdriver from time import ctime from time import sleep print ctime() driver = webdriver.Remote( command_executor=' http://127.0.0.1:5555/wd/hub', desired_capabilities={'platform': 'ANY', 'browserName': 'htmlunit', 'version': '', 'javascriptEnabled': True }) 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() |
二者的运行结果如下图,因为测试过程无界面,所以打印时间,以及页面title和url来判断执行结果:
Wed Oct 14 17:29:22 2015
Python: package selenium
http://127.0.0.1:4567/selenium.html
htmlunit
Wed Oct 14 17:29:22 2015
运行前需要启动selenium server,启动方法如下:
1、C:\Users\admin>java -jar selenium-server-standalone-2.45.0.jar -role hub
2、C:\Users\admin>java -jar selenium-server-standalone-2.45.0.jar node -port 5555 -hub http://127.0.0.1:4444/grid/register
PhantomJS 调用
PhantomJS 官方网站:http://phantomjs.org/
在使PhantomJS 之前,需要先下载。PhantomJS 支持Windwos、MAC、Linux 等平台,我们可以根据自己的环境选择相应的版本进行下载,下载完成解压会得phantomjs-2.0.0-windows 目录,在bin 目录会看到phantomjs.exe 程序,将当前目录添加到系统环境变量path 下。(或直接将phantomjs.exe 丢到Python 的安装目录下,因为我们最开始已将Python 添加到了系统环境变量的path 下)。
下面就可以使用phantomjs 驱动进行测试了。
#coding=utf-8 from selenium import webdriver from time import ctime from time import sleep print ctime() driver=webdriver.PhantomJS(executable_path="c:\\python27\\phantomjs.exe") 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 driver.get_screenshot_as_file("c:\\photo.jpg") print ctime() driver.close() |
运行结果如下,另外在C盘下可以看到截取的图片,与实际操作的界面相符:
Wed Oct 14 17:29:50 2015
Python: package selenium
http://127.0.0.1:4567/selenium.html
phantomjs
Wed Oct 14 17:29:53 2015
浏览器对比
下面在HTMLunit、PhantomJS和Firefox中运行同一个脚本(使用上文中HTMLunit的演示脚本)
三者的时间分别为:HTMLunit:0s,PhantomJS:3s,Firefox:8s
下面对比一下各个浏览器的优缺点: