0

我有一個WebDriver測試套件,當我在普通和無頭瀏覽器中執行它時,它的運行方式會有所不同。當我在無頭模式下執行它時,找不到一個元素,但是在正常模式下使用相同的代碼和相同的驅動程序時發現這個元素。 我使用此標誌設置無頭模式:使用無頭瀏覽器進行調試

chromeOptions.addArguments("--headless"); 

ChromeDriver 2.31和使用WebDriver 3.5.2。我怎麼能調試呢?

回答

2

有兩種調試方式。你可以得到Page Source並檢查有什麼不同。

現在,當您使用Selenium啓動瀏覽器時,它將使用調試會話來自動化鑲邊。所以你不能用你的網站做一個遠程調試器。

您需要手動啓動chrome。

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

現在開放其他Chrome和去http://127.0.0.1:9222和檢查現場調試現場。

Debugging Session

+0

這怎麼可能,那無頭的瀏覽器無法找到相同的XPath正常的瀏覽器? – plaidshirt

+1

一切皆有可能。即使事情沒有按預期工作。所以我們唯一的選擇是找到有效的和使用的。 –

+0

我應該在哪裏使用你的命令來使它工作? – plaidshirt