Chrome自动化中driver.get(url)不执行,切换登录配置后无响应
问题解决方法
核心问题分析
- 直接使用默认Chrome用户数据目录(
C:\Users\user\AppData\Local\Google\Chrome\User Data\Default)时,若已有Chrome实例在运行,Selenium无法获取该目录控制权,导致驱动初始化卡住,后续代码无法执行。 - 代码中
executable_path指向了Chrome浏览器的exe程序,而非ChromeDriver驱动程序,这会导致驱动启动异常。
修复步骤
步骤1:复制默认用户数据目录到新路径
- 关闭所有正在运行的Chrome窗口
- 复制
C:\Users\user\AppData\Local\Google\Chrome\User Data\Default到新路径,比如C:\Users\user\AppData\Local\Google\Chrome\User Data\SeleniumProfile - 避免和正常使用的Chrome实例冲突
步骤2:修正代码中的驱动路径和配置
使用ChromeDriverManager自动管理驱动,同时指定复制后的用户数据目录:
from selenium import webdriver from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager # 配置Chrome选项 options = Options() # 使用复制后的用户数据目录 options.add_argument(r"user-data-dir=C:\Users\user\AppData\Local\Google\Chrome\User Data\SeleniumProfile") url = "https://www.geeksforgeeks.org/" # 用ChromeDriverManager自动获取并使用正确的驱动 driver = webdriver.Chrome(ChromeDriverManager().install(), options=options) print("h") driver.get(url)
额外注意事项
- 运行代码时确保没有其他Chrome窗口打开,避免用户数据目录冲突
- 若仍出现卡顿,可添加以下参数规避环境权限问题:
options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage")
内容的提问来源于stack exchange,提问作者Ayush Singhal
相关产品推荐
相关产品推荐

