如何使用Selenium访问自定义Chrome配置文件并加载已登录Gmail账号
问题解决方法
核心错误原因
你对user-data-dir参数的用法理解有误。Chrome的user-data-dir参数用于指定用户数据根目录,而非具体的子配置文件路径。你将参数值直接设置为Profile 5的完整路径时,Chrome会把这个路径识别为新的用户数据根目录,自动在其下创建Default文件夹加载默认配置,这和你观察到的删除Default后自动重建的现象完全吻合。
修复后的代码
# user-data-dir指定到用户数据根目录,也就是Profile 5的上级目录 options.add_argument(f"user-data-dir={expanduser}\\AppData\\Local\\Google\\Chrome\\User Data") # 新增profile-directory参数指定要加载的具体配置文件夹名 options.add_argument("profile-directory=Profile 5") browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)
额外注意事项
- 运行代码前必须关闭所有已打开的Chrome进程,Chrome会对正在使用的用户数据目录加锁,导致Selenium无法正常读取指定配置,只能自动生成临时配置。
- 确认
Profile 5文件夹下确实存在你已登录Gmail的用户数据,可手动在Chrome的配置管理页核对各配置对应的编号。 - 若仍有加载问题,可以先手动打开指定配置的Chrome,退出后再运行Selenium代码,避免配置文件处于异常锁定状态。
内容的提问来源于stack exchange,提问作者Flu_Py Developer
相关产品推荐
相关产品推荐

