Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有opera和edge浏览器的远程Web驱动程序_Java_Selenium_Microsoft Edge_Opera_Remotewebdriver - Fatal编程技术网

Java 带有opera和edge浏览器的远程Web驱动程序

Java 带有opera和edge浏览器的远程Web驱动程序,java,selenium,microsoft-edge,opera,remotewebdriver,Java,Selenium,Microsoft Edge,Opera,Remotewebdriver,无法通过集线器连接到opera和edge webdriver。 我的程序: 在cmd中启动集线器: java -jar C:\path\to\selenium-server-standalone-3.7.1.jar -role hub 在cmd中启动节点: java -Dwebdriver.opera.driver=C:\path\to\operadriver.exe - Dwebdriver.edge.driver=C:\path\to\Micro

无法通过集线器连接到opera和edge webdriver。 我的程序:

  • 在cmd中启动集线器:

       java -jar C:\path\to\selenium-server-standalone-3.7.1.jar -role hub 
    
  • 在cmd中启动节点:

            java -Dwebdriver.opera.driver=C:\path\to\operadriver.exe -
            Dwebdriver.edge.driver=C:\path\to\MicrosoftWebDriver.exe -jar 
            C:\path\to\selenium-server-standalone-
            3.7.1.jar -role node -hub http://mylocalhost:4444/grid/register 
            -browser "browserName=opera,maxInstances=5,platform=Windows" -
            browser "browserName=edge,maxInstances=5,platform=Windows"
    
并为Opera运行此测试:

               WebDriver driver;
               String nodeURL;
               nodeURL = "http://mylocalhost:5555/wd/hub";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName("opera");
        capabilities.setPlatform(Platform.WINDOWS);
        driver = new RemoteWebDriver(new URL(nodeURL), capabilities);
        driver.get("https://www.google.ru/");
    org.openqa.selenium.WebDriverException: unknown error: cannot find Opera binary
对于Edge:

               WebDriver driver;
               String nodeURL;
               nodeURL = "http://mylocalhost:5555/wd/hub";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName("opera");
        capabilities.setPlatform(Platform.WINDOWS);
        driver = new RemoteWebDriver(new URL(nodeURL), capabilities);
        driver.get("https://www.google.ru/");
org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService
这是Opera出现异常的原因:

               WebDriver driver;
               String nodeURL;
               nodeURL = "http://mylocalhost:5555/wd/hub";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName("opera");
        capabilities.setPlatform(Platform.WINDOWS);
        driver = new RemoteWebDriver(new URL(nodeURL), capabilities);
        driver.get("https://www.google.ru/");
    org.openqa.selenium.WebDriverException: unknown error: cannot find Opera binary
以及Edge的例外情况:

               WebDriver driver;
               String nodeURL;
               nodeURL = "http://mylocalhost:5555/wd/hub";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName("opera");
        capabilities.setPlatform(Platform.WINDOWS);
        driver = new RemoteWebDriver(new URL(nodeURL), capabilities);
        driver.get("https://www.google.ru/");
org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService

我知道这段代码在Chrome和firefox上运行良好。有人知道如何将此应用于Opera ana Edge吗?

对于open Opera,您需要设置二进制文件:

DesiredCapabilities capabilities = new DesiredCapabilities.opera();
capabilities.setCapability("opera.binary", "/path/to/your/opera");
capabilities.setCapability("opera.log.level", "CONFIG");
WebDriver driver = new OperaDriver(capabilities);
对于Edge--希望它能帮助您:

System.setProperty("webdriver.edge.driver", "C:/Program Files (x86)/Microsoft Web Driver/MicrosoftWebDriver.exe");  Your Edge driver path
    DesiredCapabilities capability = DesiredCapabilities.edge();
    capability.setBrowserName("MicrosoftEdge");
    capability.setPlatform(Platform.WIN10);
    WebDriver driver = new EdgeDriver(capability);
    driver.get("http://www.google.com");

对于open Opera,您需要设置二进制文件:

DesiredCapabilities capabilities = new DesiredCapabilities.opera();
capabilities.setCapability("opera.binary", "/path/to/your/opera");
capabilities.setCapability("opera.log.level", "CONFIG");
WebDriver driver = new OperaDriver(capabilities);
对于Edge--希望它能帮助您:

System.setProperty("webdriver.edge.driver", "C:/Program Files (x86)/Microsoft Web Driver/MicrosoftWebDriver.exe");  Your Edge driver path
    DesiredCapabilities capability = DesiredCapabilities.edge();
    capability.setBrowserName("MicrosoftEdge");
    capability.setPlatform(Platform.WIN10);
    WebDriver driver = new EdgeDriver(capability);
    driver.get("http://www.google.com");