我爱编程百人计划

【python】selenium启用chrome问题之挖坑-填坑

2017-03-14  本文已影响0人  _王子_
背景
selenium无法正常启动使用chrome浏览器进行自动化操作

ChromeDriver功能:

chromeDriver工具是Chrome的WebDriver,可以用于自动化测试 可以操作浏览器。

相关信息:

selenium操作chrome浏览器需要有ChromeDriver驱动来协助,而ChromeDriver是由Chrome开发团队来完成的因而ChromeDriver不包含在selenium包中,需要从ChromeDriver网页上下载下来。

什么是ChromeDriver?

ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器。

那么要想selenium成功的操作chrome浏览器需要经历如下步骤:

1、下载ChromeDriver驱动包(下载地址: http://chromedriver.storage.googleapis.com/index.html?path=2.7/

http://vdisk.weibo.com/s/GLALSq503hN1?category_id=0&parents_ref=GLALSq503hML

注意阅读note.txt下载与自己所使用浏览器一致版本的驱动包。

2、指定ChromeDriver所在位置,可以通过两种方法指定:

1)通过配置ChromeDriver.exe位置到path环境变量实现。

2)通过webdriver.chrome.driver.系统属性实现。实现代码如下:

System.setProperty("webdriver.chrome.driver", "C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chromedriver.exe");

或者drivet = webdriver.chrome(executable_path="D:/workspace_Test/ProjectTest/chromedriver.exe")

3、最后需要做的就是创建一个新的ChromeDriver的实例。

WebDriver driver = new ChromeDriver();

driver.get("http://www.baidu.com/")

至此我们就可以通过chrome浏览器来执行我们的自动化代码了。


扩展

如果是作为selenium grid的一个node节点,可以使用以下方式进行启动:

java -jar selenium-server-standalone-2.25.0.jar -role node -hubhttp://10.1.60.55:4444/grid/register-port 55551 -Dwebdriver.chrome.driver="c:chromedriver.exe"

-browser "browserName=chrome,version=17,maxInstances=10,platform=WINDOWS"

备忘:

hub节点启动:

java -jar selenium-server-standalone-2.25.0.jar -role hub

默认的端口号为4444,默认主机为localhost

上一篇下一篇

猜你喜欢

热点阅读