【发布时间】:2019-04-19 19:54:07
【问题描述】:
我正在尝试使用广告拦截器和无头运行我的 chrome 驱动程序,分别执行这两个操作不会出错,但添加这两个选项会出现以下错误:
selenium.common.exceptions.WebDriverException:消息:未知错误:未能等待扩展背景页面加载:chrome-extension://alplpnakfeabeiebipdmaenpmbgknjce/_generated_background_page.html 来自未知错误:找不到页面:chrome-extension://alplpnakfeabeiebipdmaenpmbgknjce/_generated_background_page.html
据我所知,adblock 扩展程序正在寻找背景页面,但没有找到它,因为它处于无头模式。 (没有无头模式也可以正常工作)
可测试代码(给出错误):
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
# adblocker crx file, downloaded from: https://chrome-extension-downloader.com/
chrome_options.add_extension("Adblocker-for-Chrome-NoAds_v3.2.0.1.crx")
chrome_options.add_argument("headless")
driver = webdriver.Chrome(options=chrome_options)
我尝试过的事情:
·不同的广告拦截器。 (可提供清单)
·让代码在不同的地方等待。 (正如错误所说,它未能等待 东西)
·去无头但没有广告拦截器。 (比使用广告拦截器和窗口的 GUI 显示要慢)
·多次问谷歌这个问题。 (没用……)
如果有人知道在有 adblock 扩展的同时使用 python selenium 无头运行 chrome 浏览器的解决方案,我也想知道,谢谢。
【问题讨论】:
-
可能重复。检查以下 SO 链接:stackoverflow.com/questions/42231604/…
-
不是重复的。我不够清楚,我可以毫无问题地运行广告拦截器,并且我可以毫无问题地运行 chrome headless,它同时运行 both 给我一个错误。
-
您好,我也遇到了这个问题。 Chrome 开发人员表示,使用扩展程序进行无头工作需要花费太多的工作......考虑到 Firefox 可以做到这一点,这似乎是不真实的。
-
是的,你可以在这里查看我的答案:stackoverflow.com/a/59793651/6903322 ----------
标签: python selenium google-chrome-extension selenium-chromedriver google-chrome-headless