Selenium ChromeDriver使用自定义用户数据目录时无法导航至URL
问题解决:加载Chrome用户配置后Selenium的.get()方法不跳转URL
核心问题:更新Chrome(133.0.6943.99)和ChromeDriver(133.0.6943.98)后,不加载用户配置时driver.get()正常工作;但加载配置后,Chrome实例能正常启动,却不会跳转到指定URL,且无任何报错。
以下是实测有效的解决方案:
1. 修正用户数据路径的参数格式
你代码里直接传入路径的写法是错误的,Chrome需要明确的参数前缀,正确写法如下:
from selenium.webdriver.chrome.options import Options USER_DATA_PATH = "你的实际用户数据路径" options = Options() # 必须添加--user-data-dir=前缀 options.add_argument(f"--user-data-dir={USER_DATA_PATH}") driver = webdriver.Chrome(options=options) driver.get("https://www.google.com")
之前的写法相当于传递了无效参数,Chrome未正确加载目标配置,进而导致get()方法失效。
2. 指定具体的Profile目录(多账号场景)
如果用户数据目录下存在多个Profile,需明确指定要加载的账号目录,比如默认账号:
# 在添加user-data-dir参数后,追加Profile指定 options.add_argument("--profile-directory=Default")
不指定的话,Chrome可能加载空白临时Profile,出现「配置已加载」的假象,但实际并非目标账号环境。
3. 禁用Chrome自动恢复会话机制
加载用户配置后,Chrome可能自动打开之前的标签页,覆盖driver.get()的跳转请求,添加以下参数关闭自动恢复:
options.add_argument("--disable-session-crashed-bubble") options.add_argument("--disable-restore-session-state") options.add_argument("--no-first-run")
4. 验证页面加载状态(排除视觉错觉)
有时页面在后台加载,肉眼看似未跳转,实际处于处理中。可添加显式等待确认加载状态:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver.get("https://www.google.com") # 等待10秒,直到页面标题包含Google WebDriverWait(driver, 10).until(EC.title_contains("Google"))
如果超时,说明确实加载失败;否则只是加载速度慢导致的视觉问题。
5. 确保ChromeDriver与Chrome版本完全匹配
尽管你的版本仅差最后一位,仍建议下载与Chrome(133.0.6943.99)完全一致的ChromeDriver版本替换现有文件,版本不匹配常引发各类诡异问题。
6. 修复损坏的用户配置
若以上方案均无效,可能是用户配置文件损坏:
- 关闭所有Chrome进程后重新运行代码
- 备份用户数据目录,删除其中
Cache、Local Storage等缓存文件夹后重试 - 新建Chrome账号,使用新的用户数据路径测试是否正常
内容的提问来源于stack exchange,提问作者Mr. OH
相关产品推荐
相关产品推荐

