java - EdgeDriver (v81) 不再支持将 DriverService 作为参数传递的功能

标签 java microsoft-edge selenium-edgedriver

自从 Edge 升级到 v80 以来,它为我们的自动化引入了“重大更改”( https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium?tabs=c-sharp )。 Microsoft 在附加链接中记录了这一点。理想情况下,我希望保留 Selenium 3 并使用 Edge-selenium-tools ( https://github.com/microsoft/edge-selenium-tools ),但考虑到我的框架是基于 Java 的,这不是一个选择。

为了解决这个问题,我更新到了 Selenium 4 (alpha 5),它支持 Edge Chromium v​​81,但仅限于一定程度。

能够将 ChromiumEdgeDriverService/EdgeDriverService (不确定我现在应该使用哪个)作为参数传递给 EdgeDriver WebDriver 已被删除 ( https://www.javadoc.io/doc/org.seleniumhq.selenium/selenium-edge-driver/latest/org/openqa/selenium/edge/package-summary.html )。这是我在 headless 模式下实现下载的解决方法所依赖的东西,因此我渴望恢复该功能。

我不确定这是否是我应该向 SeleniumHQ ( https://github.com/SeleniumHQ/selenium/issues/new/choose ) 报告的改进或回归,或者是我应该向 Microsoft 提出的问题,但我正在寻找一些关于我应该在这方面做什么的指导实例。

为了澄清,下面是我在 Chrome 中使用的 - 它工作正常:

ChromeDriverService chromeDriverService = ChromeDriverService.createDefaultService();
driver = new ChromeDriver(chromeDriverService,new ChromeOptions())

这就是我想要在 Edge Chromium 中执行的操作 - 这会导致错误,因为这些参数的构造函数不存在:

EdgeDriverService edgeDriverService = EdgeDriverService.createDefaultService();
driver = new EdgeDriver(edgeDriverService,new EdgeOptions());

附: ChromiumEdgeDriverService

完全相同

最佳答案

现在可以在 Selenium 4.0.0-alpha-6 中使用

关于java - EdgeDriver (v81) 不再支持将 DriverService 作为参数传递的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61776153/

相关文章:

java - 使用 JOptionPane 的 Java 的 If Else 语句

java - JTextArea 或 JTextPane 设置突出显示的文本颜色

html - 在 Microsoft Edge 上定位可悬停的卡片标题

javascript - 使用 Selenium(Javascript) 打开第二个边缘窗口时出现 WebDriverError : Unknown error,

java - 如何在使用 edgeDriver selenium 时向 edgeOptions 添加参数

未找到 javax.persistence.EntityManager 源代码

java - 如何反序列化从 Google protobuf 用 Ja​​va 接收的字节?

css - 如何编写只在非IE、非Edge浏览器中有效的CSS?

javascript - MS Edge 上下载的文件名无效

selenium - 如何通过Selenium进入Microsoft Edge上的沉浸式阅读器?