Selenium 4.25调用driver.get()无法跳转页面问题求助
Selenium 4.25.0 + Chrome 136:driver.get()无法跳转至指定URL的问题解决
问题描述
使用Python结合Selenium 4.25.0自动化Chrome 136,目标是调用已登录的Default配置文件打开https://aistudio.google.com/prompts/new_chat并执行操作。但脚本执行后,Chrome成功加载Default配置文件并显示个性化新标签页,后续的driver.get()命令无法让浏览器跳转,始终停留在chrome://newtab/页面。已确认运行脚本前所有chrome.exe进程已通过任务管理器终止。
环境信息
- Windows 11 Pro 23H2
- Python 3.12.x
- Selenium 4.25.0
- Chrome 136.0.7103.93
- ChromeDriver版本与Chrome主版本匹配
已验证/尝试的操作
- 确认ChromeDriver版本与Chrome主版本匹配
- 运行脚本前终止所有Chrome进程
- 确认配置文件路径正确,且配置文件加载正常
- 尝试添加不同时长的延时(如
time.sleep())
问题分析
- 版本兼容性竞争问题:Selenium 4.25.x与Chrome 136配合时,加载已存在的用户配置文件会触发Chrome优先加载默认新标签页的逻辑,导致后续
driver.get()的导航请求被阻塞或覆盖。 - 配置文件初始化干扰:加载用户配置文件时,Chrome内部的标签页恢复、扩展加载等流程会占用会话控制权,使得Selenium的导航命令无法及时生效。
解决方案
方案1:直接指定启动URL覆盖默认页
在ChromeOptions中预先设置启动URL,让Chrome直接打开目标页面,跳过默认新标签页的加载:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # 替换为你的Chrome用户数据路径 options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data") options.add_argument(r"profile-directory=Default") # 直接指定启动时打开的URL options.add_argument("https://aistudio.google.com/prompts/new_chat") driver = webdriver.Chrome(options=options) # 无需再调用driver.get(),可直接执行后续操作
方案2:通过CDP命令强制导航
使用Chrome DevTools Protocol(CDP)命令发送导航请求,绕过常规driver.get()可能存在的阻塞:
from selenium import webdriver from selenium.webdriver.chrome.options import Options import time options = Options() options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data") options.add_argument(r"profile-directory=Default") driver = webdriver.Chrome(options=options) time.sleep(2) # 短暂等待配置文件加载完成 # 用CDP命令强制跳转目标URL driver.execute_cdp_cmd("Page.navigate", {"url": "https://aistudio.google.com/prompts/new_chat"})
方案3:禁用Chrome标签页恢复功能
关闭Chrome的会话恢复机制,避免自动加载旧标签页干扰导航:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data") options.add_argument(r"profile-directory=Default") # 禁用会话恢复相关功能 options.add_argument("--disable-session-crashed-bubble") options.add_argument("--disable-restore-session-state") driver = webdriver.Chrome(options=options) driver.get("https://aistudio.google.com/prompts/new_chat")
内容的提问来源于stack exchange,提问作者STATTHINGY TRENTON
相关产品推荐
相关产品推荐

