【发布时间】: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 -
关于问题的原因,我认为this answer 是有道理的。您可以尝试答案中的解决方案。另外,Edge 官方 build 的最新版本是 89.0.774.54,你也可以试试这个版本的 Edge 和 WebDriver 看看能不能解决问题。
-
@YuZhou 谢谢,添加
--remote-debugging-port=<port>成功了!!
标签: selenium selenium-webdriver microsoft-edge browser-automation