Undetected Chromedriver无法应用配置选项,窗口及扩展设置无效求助
问题
Undetected Chromedriver无法应用我的配置选项,窗口大小未改变且扩展未加载,该问题在Linux和Windows系统上均存在。代码如下:
from webdriver_manager.chrome import ChromeDriverManager from selenium import webdriver from selenium.webdriver.chrome.service import Service import undetected_chromedriver as uc options = uc.ChromeOptions() options.add_extension(proxies_extension) options.add_argument("--window-size=500,500") driver = uc.Chrome(service=Service(ChromeDriverManager().install()), options=options)
当我替换为options = webdriver.ChromeOptions()和driver = webdriver.Chrome(...)时,功能完全正常。请问我可能哪里操作出错了?
解决方法
Undetected Chromedriver(简称UC)的uc.ChromeOptions与原生Selenium的ChromeOptions在参数传递逻辑上存在差异,直接按原生方式添加配置会失效,可通过以下方式修正:
改用原生ChromeOptions传入UC
UC支持直接接收原生Selenium的webdriver.ChromeOptions实例,无需使用uc.ChromeOptions,修改后代码如下:from webdriver_manager.chrome import ChromeDriverManager from selenium import webdriver from selenium.webdriver.chrome.service import Service import undetected_chromedriver as uc options = webdriver.ChromeOptions() options.add_extension(proxies_extension) options.add_argument("--window-size=500,500") driver = uc.Chrome(service=Service(ChromeDriverManager().install()), options=options)若坚持使用uc.ChromeOptions,改用uc_options参数传递
部分UC版本要求将uc.ChromeOptions实例通过uc_options参数传入,而非通用的options参数:from webdriver_manager.chrome import ChromeDriverManager from selenium import webdriver from selenium.webdriver.chrome.service import Service import undetected_chromedriver as uc options = uc.ChromeOptions() options.add_extension(proxies_extension) options.add_argument("--window-size=500,500") driver = uc.Chrome(service=Service(ChromeDriverManager().install()), uc_options=options)窗口大小备选方案
若上述方法仍不生效,可在driver初始化后强制设置窗口大小:driver.set_window_size(500, 500)扩展加载注意事项
- 确保
proxies_extension是有效的CRX文件路径,UC对扩展的加载验证更严格 - 若扩展需要特殊权限,需添加对应参数,例如
options.add_argument("--allow-extension-access")
- 确保
内容的提问来源于stack exchange,提问作者Ned Hulton
相关产品推荐
相关产品推荐

