Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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 使用selenium启动Microsoft Edge Chromium浏览器_Java_Selenium - Fatal编程技术网

Java 使用selenium启动Microsoft Edge Chromium浏览器

Java 使用selenium启动Microsoft Edge Chromium浏览器,java,selenium,Java,Selenium,我正在尝试使用selenium启动Microsoft Edge Chromium浏览器。 Microsoft Edge chromium版本:79.0.309.65版(正式版)(64位) 从下载驱动程序文件 使用此代码可以实现相同的功能,但会导致无法访问的浏览器异常,并且无法正常工作 1.System.setProperty("webdriver.edge.driver", "C:\\Program Files (x86)\\Microsoft\\Edge Beta\\Application\\

我正在尝试使用selenium启动Microsoft Edge Chromium浏览器。 Microsoft Edge chromium版本:79.0.309.65版(正式版)(64位) 从下载驱动程序文件

使用此代码可以实现相同的功能,但会导致无法访问的浏览器异常,并且无法正常工作

1.System.setProperty("webdriver.edge.driver", "C:\\Program Files (x86)\\Microsoft\\Edge Beta\\Application\\msedgedriver.exe");
EdgeOptions options = new EdgeOptions();
BROWSER=properties.getProperty("BrowserName");
options.setCapability(BROWSER, false);
//DesiredCapabilities  m_capability = DesiredCapabilities.edge();
driver= new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), options);
2.DesiredCapabilities  m_capability = DesiredCapabilities.chrome();
BROWSER=properties.getProperty("BrowserName");`enter code here`
m_capability.setCapability( BROWSER, "chrome" );
driver = new ChromeDriver();
System.setProperty("webdriver.chrome.driver",
                   "C:\\edgedriver_win64-1\\msedgedriver.exe");

这看起来像是兼容性问题。您可以升级或降级
msedgedriver
驱动程序版本以使其正常工作

我建议您使用
WebDriverManager

WebDriverManager允许自动管理二进制文件 Selenium要求的驱动程序(如chromedriver、geckodriver等) 网络驱动程序

maven依赖关系

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.8.0</version>
    <scope>test</scope>
</dependency>

我很好奇新的Edge Chromium(2020年1月15日或之后)是否能够无头执行。有人知道吗?如果是,我想制作一个docker映像来运行它。您可以提供一个链接,从中下载Edge Chromium浏览器的驱动程序文件吗?如果您要使用webDriverManager,则不需要下载它,webdriverManager将自行下载兼容的驱动程序版本。感谢您的响应Muzzamil。我使用的代码是您提供的错误代码,该代码行显示错误new EdgeOptions().merge(chromeOptions);驱动器=新的边缘驱动器(边缘选项);
public class EdgeDevTest {

    private WebDriver driver;

    @BeforeClass
    public static void setupClass() {
        WebDriverManager.edgedriver().setup();
    }

    @Before
    public void setupTest() {
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setBinary(
                "C:\\Program Files (x86)\\Microsoft\\Edge Dev\\Application\\msedge.exe");
        EdgeOptions edgeOptions = new EdgeOptions().merge(chromeOptions);
        driver = new EdgeDriver(edgeOptions);
    }

    @After
    public void teardown() {
        if (driver != null) {
            driver.quit();
        }
    }