首页 > 解决方案 > 无头 chromedriver python “未捕获的 tagerror”

问题描述

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument("--headless")

chrome_options.add_argument('--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"')
chrome_options.add_argument("--window-size=1920x1080")
chrome_options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get('https://www.mycarinfo.com.my/Valuation/SearchVehicle?version=free')

在 Windows 7、Python 3.6.4、Selenium 3.9.0、Chromedriver 2.43 上运行代码代码在非无头模式下执行没有问题。在无头模式下,在 Anaconda Prompt 中执行,连续输出以下错误:

错误

标签: pythonseleniumselenium-chromedriver

解决方案


由于您在 windows 上运行,因此--disable-gpu在使用 headless 时需要添加参数。请参阅https://developers.google.com/web/updates/2017/04/headless-chrome

在您说您正在使用的 selenium 版本3.9中,您还可以使用方便的方法set_headless()来添加--headless--disable-gpu为您添加。在较新的版本中,它是一个二传手options.headless = True


推荐阅读