【问题标题】:MS Edge driver error: DevToolsActivePort file doesn't exist , works only with --headlessMS Edge 驱动程序错误:DevToolsActivePort 文件不存在,仅适用于 --headless
【发布时间】:2021-06-15 08:24:54
【问题描述】:

MSEdgeDriver 和浏览器版本使用 88.0.705.63(64 位)。

在提供边缘 options.addArguments("--headless"); 时工作 但是当它被删除时不起作用。抛出以下错误

Message: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'A036T0L6347NRVX', ip: '10.227.221.75', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_66'
Driver info: driver.version: EdgeDriver
remote stacktrace: Backtrace:
    Ordinal0 [0x00007FF6D6D0AF92+241554]
    GetHandleVerifier [0x00007FF6D747CA88+2173368]
    GetHandleVerifier [0x00007FF6D749FAC8+2316792]
    GetHandleVerifier [0x00007FF6D7499BC9+2292473]
    GetHandleVerifier [0x00007FF6D74CB760+2496144]
    GetHandleVerifier [0x00007FF6D74C7A5F+2480527]
    GetHandleVerifier [0x00007FF6D74A550A+2339898]
    GetHandleVerifier [0x00007FF6D74A614B+2343035]
    Ordinal0 [0x00007FF6D6CE2D01+77057]

使用的边缘选项:

EdgeOptions options = new EdgeOptions();
        options.addArguments("--no-sandbox");
        options.setBinary("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");
        options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
        options.addArguments("disable-infobars"); // disabling infobars
        options.addArguments("--disable-extensions"); // disabling extensions
        options.addArguments("--disable-gpu"); // applicable to windows os only
        options.addArguments("--disable-dev-shm-usage");

【问题讨论】:

  • 看看你是否兼容edge和edge驱动的版本,并设置了System.setProperty("webdriver.edge.driver", "C:\\Users\\prave\\Downloads\\msedgedriver.exe");
  • 是的,我有 setProperty - System.setProperty("webdriver.edge.driver","C:\\Users\\******\\Downloads\\edgedriver_win64\\msedgedriver.exe") 我不确定 headless 是如何工作的,否则它会抛出 DevToolsActivePort
  • 我查了很多,发现有很多类似的问题:thread 1thread 2。添加--headless 是解决方法之一。您也可以尝试其他解决方法:添加--remote-debugging-port=<port>
  • 关于问题的原因,我认为this answer 是有道理的。您可以尝试答案中的解决方案。另外,Edge 官方 build 的最新版本是 89.0.774.54,你也可以试试这个版本的 Edge 和 WebDriver 看看能不能解决问题。
  • @YuZhou 谢谢,添加--remote-debugging-port=<port> 成功了!!

标签: selenium selenium-webdriver microsoft-edge browser-automation


【解决方案1】:

我搜索了很多,发现有很多类似的问题:thread 1thread 2。您也可以尝试另一种解决方法:添加--remote-debugging-port=<port>

关于问题的原因,我认为this answer 是有道理的。您也可以尝试答案中的其他解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多