【问题标题】:Setup Chrome WebDriver with remote 'chromedriver.exe' file使用远程“chromedriver.exe”文件设置 Chrome WebDriver
【发布时间】:2012-05-19 21:34:22
【问题描述】:

我的系统中安装了 chrome。我正在使用 Selenium 在 chrome 上运行一些测试。

我已将 Chromedriver.exe 下载到 MyDocuments。我已经使用 System.setProperty() 设置了“webdriver.chrome.driver”并启动了 ChromeDriver()。它工作正常。

System.setProperty("webdriver.chrome.driver", "C:\\MyDocuments\\chromedriver.exe");
driver=new ChromeDriver();

现在,我正在尝试将 Chromedriver.exe 放入远程机器“https://remotemachine/chromedriver.exe”。当我设置 System 属性并启动 ChromeDriver() 时,我遇到了一个异常,Selenium 在一个奇怪的路径中搜索 chrome:

webdriver.chrome.driver 定义的 chromedriver 可执行文件没有 存在于 C:\Users..\Appdata\Local\Google Chrome\Application...\https://remotemachine/chromedriver.exe

为什么 Selenium 会通过将系统属性附加到 C 盘中的某个位置来搜索 chromedriver.exe?

如何使用远程 chromedriver.exe 文件从 Selenium 启动 Chrome?

与上述无关,但是:

是否也可以使用 Java/Selenium 找到默认的浏览器二进制路径?

【问题讨论】:

    标签: java google-chrome selenium webdriver selenium-chromedriver


    【解决方案1】:

    它希望 chrome 位于 windows 中的这个位置

    %HOMEPATH%\AppData\Local\Google\Chrome\Application\chrome.exe

    对于远程,它必须在路径中,或者 -Dwebdriver.chrome.driver 值应该指向本地 chromedriver.exe 位置。

    本地与运行它的地方一样。

    设置链接如下: http://code.google.com/p/selenium/wiki/RemoteWebDriver http://code.google.com/p/selenium/wiki/ChromeDriver

    【讨论】:

    • "远程机器的本地路径":这是否意味着 'chrome.exe' 和 'chromedriver.exe' 应该在同一台机器上?如果没有,您能告诉我如何设置此路径的示例吗?我试过这样设置: System.setProperty("webdriver.chrome.driver", "remotemachine/chromedriver.exe"); 但它没有用。
    【解决方案2】:

    你不能像设置远程机器的系统路径——

    System.setProperty("webdriver.chrome.driver", "remotemachine/chromedriver.exe");.

    此代码将仅在其所在的集线器/本地计算机中执行。

    要远程运行它,您需要在启动 WD 节点时提及 -Dwebdriver.chrome.driver=pathtochromedriver.exe。

    java -jar seleniumserver.jar -role wd -hub http://hubhost:port/grid/register -Dwebdriver.chrome.driver=pathtochromedriver
    

    【讨论】:

      【解决方案3】:

      System.setProperty("webdriver.chrome.driver", "C:\Documents and Settings\sssuppaluri\Desktop\Spicejet_Automation\chromedriver.exe"); 驱动程序 = 新的 ChromeDriver(); driver.get("https://149.122.160.94:8443/skylights/cgi-bin/skylights.cgi");

      【讨论】:

        【解决方案4】:

        在您的项目中创建一个名为“chromedriver”的新文件夹并将“chromedriver.exe”文件放入其中,然后将以下行添加到您的代码中

        System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\chromedriver\\chromedriver.exe");
        

        【讨论】:

          猜你喜欢
          • 2012-10-01
          • 2016-11-08
          • 2020-06-14
          • 1970-01-01
          • 2022-01-08
          • 2012-10-25
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          相关资源
          最近更新 更多