本周末更新 google chrome 后,使用 Selenium python API 的无头模式在 Windows 中运行时会弹出一个空白窗口。 我在 Debian VM 上运行的相同代码不再有效。
这是一个代码片段:
chrome_options = Options()
chrome_options.add_argument("--headless=new") #previously used --headless
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-automation")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options=chrome_options)
为了隔离问题,我删除了出于隐私目的而强制执行的所有 FQDN dns 块,包括:ad.doubleclick.net、analytics.yahoo.com、google-analytics.com、googleadservices.com、plausible.io、stats.g.doubleclick .net
这是 Chrome / Chromedriver 129 中的一个新的已知错误:https://github.com/SeleniumHQ/selenium/issues/14514#issuecomment-2357777800。
同时,使用
--window-position=-2400,-2400
隐藏窗口。
chrome_options.add_argument("--window-position=-2400,-2400")