使用无头浏览器进行调试

pla*_*irt 6 java selenium webdriver selenium-chromedriver google-chrome-headless

我有一个WebDriver测试套件,当我在普通无头浏览器中执行测试套件时,其运行方式有所不同。当我在无头模式下执行该元素时找不到一个元素,但是在正常模式下使用相同的代码和相同的驱动程序时会找到一个元素。我使用此标志设置无头模式:

chromeOptions.addArguments("--headless");
Run Code Online (Sandbox Code Playgroud)

ChromeDriver 2.31WebDriver 3.5.2正在使用。我该如何调试呢?

Tar*_*ani 5

有两种调试方式。您可以获取页面源并检查有什么不同。

现在,当您使用 Selenium 启动浏览器时,它会使用调试会话来自动化 chrome。所以你不能使用它对你的网站进行远程调试。

您需要手动启动 chrome。

chrome --headless --remote-debugging-port=9222 --disable-gpu http://tarunlalwani.com
Run Code Online (Sandbox Code Playgroud)

现在打开另一个 chrome 并通过去http://127.0.0.1:9222检查站点来调试站点。

调试会话

  • 一切皆有可能。即使事情没有按预期工作。所以我们唯一的选择是找到有效的方法并使用它。 (3认同)