使用无头浏览器进行调试

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

 chromeOptions.addArguments("--headless"); 

正在使用ChromeDriver 2.31WebDriver 3.5.2 。 我怎么调试这个?

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

现在,当您使用Selenium启动浏览器时,它正在使用调试会话来自动化Chrome。 因此,您无法使用此function对您的网站进行远程调试。

您需要手动启动chrome。

 chrome --headless --remote-debugging-port=9222 --disable-gpu http://tarunlalwani.com 

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

调试会话