使用Undetected Chrome Browser后,常规Chrome Driver参数报错求助
问题解决:WebDriver.init() 收到意外关键字参数 'chrome_options'
核心原因:Selenium版本更新后参数名变更
你安装undetected-chromedriver时,大概率自动升级了Selenium到4.x版本。在Selenium 4.x及以上版本中,初始化ChromeDriver的chrome_options参数已被弃用,统一替换为options参数,这就是卸载工具后旧脚本仍报错的原因。修改后的可运行脚本:
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from time import sleep WINDOW_SIZE = "2500,2200" caps = DesiredCapabilities().CHROME Chrome_options = webdriver.ChromeOptions() Chrome_options.add_argument("--incognito") Chrome_options.add_argument("--log-level=3") Chrome_options.add_argument("window-position=-5000,100") caps["pageLoadStrategy"] = "eager" Chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE) Chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) # 替换chrome_options为options,同时补全URL协议 driver = webdriver.Chrome(options=Chrome_options, executable_path='./chromedriver') wait = WebDriverWait(driver, 10) driver.get('https://www.google.com') sleep(100)
- 额外优化提示:
- 若你使用的是Selenium 4.6及以上版本,无需手动指定
executable_path,Selenium内置的Selenium Manager会自动匹配并下载对应版本的ChromeDriver,可简化为driver = webdriver.Chrome(options=Chrome_options)。 - 确保Chrome浏览器与ChromeDriver版本一致,版本不兼容也会导致各类初始化错误。
- 若你使用的是Selenium 4.6及以上版本,无需手动指定
内容的提问来源于stack exchange,提问作者Mohamed Alaa
相关产品推荐
相关产品推荐

