我正在使用最近补丁说明中的相同代码,但它仍然无法工作。
options = ChromeOptions()
options.add_argument("--headless=new")
driver = webdriver.Chrome(options=options)
我的代码无需无头模式即可工作,否则,我会收到此错误:
raise TimeoutException(message, screen, stacktrace)
我也尝试过这个,但没有成功:
service = Service(executable_path=r"C:\Program Files (x86)\WebDrivers\chromedriver.exe")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(service=service, options=options)
硒4.18.0 Python 3.10.7
Selenium 及其 Web 驱动程序的繁琐设置是我创建 Browserist 作为 Selenium 扩展的原因之一。 无头模式只需与 Browserist 一起开箱即用。
完全公开,我是这个包的作者。 Browserist 是 Selenium Web 驱动程序的轻量级、简洁的扩展,使浏览器自动化变得更加容易。只需使用
pip install browserist
安装软件包即可开始使用。
也许这样的东西可以解决你的问题?
from browserist import Browser, BrowserSettings
settings = BrowserSettings(headless = True)
with Browser(settings) as browser:
browser.open.url("https://example.com")
Browserist 有一套成熟的方法来与网页交互,但如果您更喜欢使用 Selenium Web 驱动程序,您也可以返回标准
driver
并继续使用以下脚本:
driver = browser.driver
请注意,Browserist的无头模式的简单设置适用于跨浏览器类型,因此您甚至可以执行以下操作:
from browserist import Browser, BrowserSettings, BrowserType
chrome = BrowserSettings(type = BrowserType.CHROME, headless = True)
edge = BrowserSettings(type = BrowserType.EDGE, headless = True)
firefox = BrowserSettings(type = BrowserType.FIREFOX, headless = True)
for settings in [chrome, edge, firefox]:
with Browser(settings) as browser:
browser.open.url("https://example.com")