美文网首页我爱编程百人计划
【python】selenium启用chrome问题之挖坑-填坑

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

作者: _王子_ | 来源:发表于2017-03-14 23:55 被阅读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

    相关文章

      网友评论

        本文标题:【python】selenium启用chrome问题之挖坑-填坑

        本文链接:https://www.haomeiwen.com/subject/ghchnttx.html