You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用undetected-chromedriver时Chrome Options被默认配置覆盖的问题

问题:undetected-chromedriver覆盖自定义Chrome Options配置

在Ubuntu环境下使用Python的Selenium结合undetected-chromedriver时,自定义设置的Chrome Options(如user-data-dir、window-size)会被库自动添加的默认选项覆盖,导致实际生效的配置与脚本指定不一致。

环境详情

ubuntu:latest
Python 3.10.12
selenium==4.12.0
undetected_chromedriver==3.5.3
Google Chrome   116.0.5845.140 (Official Build) (64-bit) 
ChromeDriver 116.0.5845.96

问题复现代码

from undetected_chromedriver import Chrome, ChromeOptions

self.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
options = ChromeOptions()
options.add_argument("--user-agent=" + self.user_agent)
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=1280x720")
self.driver:Chrome = Chrome(
    options=options,
    user_data_dir=self.sessionFolderPath,
)

查看chrome://version的命令行参数可发现,自定义的window-size和user-data-dir被后续添加的默认配置覆盖,需要让自定义配置优先生效。

解决方法

1. 调整user-data-dir的传递方式

不要将user-data-dir作为Chrome构造函数的参数传入,而是通过options.add_argument添加到ChromeOptions中,避免被库后续添加的默认参数覆盖:

options.add_argument(f"--user-data-dir={self.sessionFolderPath}")

2. 确保window-size生效

如果命令行参数仍被覆盖,可在启动浏览器后直接调用Selenium的窗口大小设置方法,绕开命令行参数的冲突:

self.driver.set_window_size(1280, 720)

修改后的完整代码

from undetected_chromedriver import Chrome, ChromeOptions

self.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
options = ChromeOptions()
options.add_argument("--user-agent=" + self.user_agent)
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=1280x720")
# 将user-data-dir添加到options中
options.add_argument(f"--user-data-dir={self.sessionFolderPath}")

self.driver: Chrome = Chrome(options=options)
# 强制设置窗口大小,确保生效
self.driver.set_window_size(1280, 720)

内容的提问来源于stack exchange,提问作者Pencilcase

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:21:30