Selenium启动带活跃配置文件的Chrome后无法使用get方法加载网站
解决Chrome加载自定义配置后空白页的问题
先看你代码里两个直接导致问题的语法错误,这大概率是空白页出现的核心原因:
user-data-dir参数格式错误
你写的是----user-data-dir=C:/Users/ERIK/AppData/Local/Google/Chrome/User Data,这里多了两个短横线!正确的命令行参数格式应该是两个短横线:--user-data-dir。多余的横线会让Chrome无法识别这个参数,导致配置加载异常,自然无法正常导航到目标URL。login_url的语法错误
你的login_url = "https://google.com)"末尾多了一个右括号,这会让driver.get()请求一个完全无效的URL——就算配置没问题,也打不开正确的页面。
先修正这两个错误,修改后的代码片段如下:
import os from os.path import exists import selenium from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait headless = False # 修正URL末尾多余的括号 login_url = "https://google.com" def startChrome(): global headless try: chrome_options = Options() if headless: chrome_options.add_argument("--headless") # 修正user-data-dir的横线数量 chrome_options.add_argument("--user-data-dir=C:/Users/ERIK/AppData/Local/Google/Chrome/User Data") chrome_options.add_argument("--profile-directory=Profile 1") global driver # 注意:确保path变量已正确定义(比如指向chromedriver所在文件夹) driver = webdriver.Chrome(path+"/chromedriver.exe", options=chrome_options) except: print("Failed to start Chrome!") input() exit() startChrome() driver.get(login_url) input()
如果修正后还是有问题,可以尝试以下排查步骤:
- 彻底关闭Chrome相关进程:残留的
chrome.exe或chromedriver.exe进程会锁定用户数据目录,导致新实例无法加载配置。打开任务管理器结束所有相关进程后重试。 - 检查用户数据目录权限:确保运行脚本的用户对
C:/Users/ERIK/AppData/Local/Google/Chrome/User Data有读写权限——右键目录→属性→安全选项卡,确认当前用户拥有对应权限。 - 验证配置文件路径准确性:手动打开Chrome,访问
chrome://version/查看「Profile Path」字段,确认你指定的Profile 1和实际路径一致(有时候配置文件名可能是Default或其他自定义名称)。 - 不要同时手动打开同配置的Chrome:如果已经手动打开了使用该配置的Chrome实例,Selenium启动的Chrome会无法抢占配置文件使用权,导致加载异常。
内容的提问来源于stack exchange,提问作者Erik Tajti
相关产品推荐
相关产品推荐

