无法使用 remotewebdriver 和 gecko 驱动程序创建新的远程会话

Posted

技术标签:

【中文标题】无法使用 remotewebdriver 和 gecko 驱动程序创建新的远程会话【英文标题】:unable to create new remote session with remotewebdriver and gecko driver 【发布时间】:2017-06-26 05:19:26 【问题描述】:

我正在尝试迁移到 selenium 3,但是在创建新的远程会话时遇到问题,下面是我的代码:

 protected RemoteWebDriver driver;
    @Test
    public void testing() throws FileNotFoundException, IOException 

        System.setProperty("webdriver.gecko.driver", "C:\\java\\geckodriver.exe");
        DesiredCapabilities capability = DesiredCapabilities.firefox();
        capability.setCapability("marionette", true);
        driver = new RemoteWebDriver(new URL("http://google.com"),capability);
        System.out.println();
    

我正在运行一个 selenium 网格,这是我的命令行:

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

运行中心服务器。

java -Dwebdriver.firefox.marionette=true -jar selenium-server-standalone-3.0.1.jar -role node -hub http://localhost:4444/grid/register

那是为了运行节点。任何帮助将不胜感激。

谢谢

【问题讨论】:

【参考方案1】:

我发现并解决了这个问题,通过在运行 selenium 节点时更改命令行:

java -Dwebdriver.gecko.driver=C:\java\geckodriver.exe -jar selenium-server-standalone-3.0.1.jar -role node -hub http://localhost:4444/grid/register

我注意到您甚至不需要更改 remotewebdriver 实例化,您的代码可以简单如下:

protected RemoteWebDriver driver;
@Test
public void testing() throws FileNotFoundException, IOException 
    DesiredCapabilities capability = DesiredCapabilities.firefox();
    driver = new RemoteWebDriver(new URL("http://google.com"),capability);
    System.out.println();

【讨论】:

以上是关于无法使用 remotewebdriver 和 gecko 驱动程序创建新的远程会话的主要内容,如果未能解决你的问题,请参考以下文章

使用 RemoteWebdriver 的 chromedriver 出错

如何使用Selenium RemoteWebDriver删除下载的文件?

有没有办法使用 RemoteWebDriver for SauceLabs 禁用 CORS 检查

Selenium-Grid2 配置RemoteWebDriver

无法单击/选择按钮和文本字段

Java Selenium封装--RemoteWebDriver