我在 python 中编写了一个使用 selenium、chrome 和附加扩展的刮板。刮板在本地工作,显示可见,但当我尝试在headless
模式下运行它时不工作。
在抓取的网站上,有一个按钮会自动打开一个新窗口(我无法通过 URL 访问它以便在新选项卡中打开它)。
click_button() # the button opens a new window with a confirmation button
driver.switch_to.window(driver.window_handles[1]) # switching to the confirmation window
click_confirm() # when confirm is clicked the window closes automatically
driver.switch_to.window(driver.window_handles[0]) # switching back to original window
Chrome 在安装了扩展程序后无法在无头模式下工作,因此我不得不使用 pyvirtualdisplay。
问题是Display
只pyvirtualdisplay
打开一个浏览器窗口,因此确认窗口永远不会出现。如何允许 pyvirtualdisplay 打开新窗口并在它们之间切换?