Rap*_*tar 5 selenium google-chrome google-chrome-devtools selenium-chromedriver
因此,Chrome 63 现在支持多客户端远程调试 ( https://developers.google.com/web/updates/2017/10/devtools-release-notes )
我想要实现的是使用 Chrome DevTools Protocol HeapProfiler 进行一些硒测试。我正在运行 64 版 Chrome 开发频道和 ChromeDriver 2.33。
ChromeOptions options = newChromeOptions();
options.addArguments("--remote-debugging-port=9222");
WebDriver driver = new ChromeDriver(options);
... selenium stuff
Run Code Online (Sandbox Code Playgroud)
一个新的 chrome 窗口将打开并挂起,直到超时。我可以通过转到帮助 > 关于谷歌浏览器来检查版本来确认打开的 chrome 窗口是 chrome 64。我收到此错误,似乎是 webdriver 失去连接。
Exception in thread "main" org.openqa.selenium.WebDriverException: chrome not
reachable
Run Code Online (Sandbox Code Playgroud)
DevTools 协议正在工作,因为我能够在另一个 chrome 窗口中打开http://localhost:9222并查看调试界面。
有没有人能够让这两件事一起工作?
谢谢 :)
这里的问题是,如果你通过“远程调试端口”开关,那么 chromedriver 就会有一个错误,它仍然在内部分配一个随机端口并继续尝试连接到它而不是连接到 9222 端口。
options.addArguments("--remote-debugging-port=9222");
我们可以通过跳过此命令开关并让 chrome 决定此随机端口并从 chromedriver 日志中提取此端口号来解决此问题。
我让它工作了,在这里我详细地写了博客。
归档时间: |
|
查看次数: |
7742 次 |
最近记录: |