Selenium4+Edge加载个人浏览器配置(含Cookies)失败求助
解决Selenium 4加载Edge浏览器配置失败、自动新建Profile 1的问题
问题描述
使用Selenium 4操作Edge浏览器时,尝试加载包含Cookies的Default个人配置以直接访问已登录网站,但实际未加载指定配置,反而自动新建了“Profile 1”,且已确认配置路径正确。
原代码片段:
edge_options = webdriver.EdgeOptions() edge_options.use_chromium = True edge_options.add_argument("no-sandbox") edge_options.add_argument("disable-dev-shm-usage") edge_options.add_argument("disable-features=LockProfileCookieDatabase") edge_options.add_argument("user-data-dir=C:\\Users\\Username\\AppData\\Local\\Microsoft\\Edge\\User Data\\Default") driver = webdriver.Edge(options=edge_options) targeturl = 'https://www.targeturl.com/' driver.get(targeturl)
问题原因及解决方法
核心问题是user-data-dir参数的路径设置错误:该参数需要指向Edge配置的根目录User Data,而非具体的Default子文件夹。正确的做法是用user-data-dir指定根目录,再通过profile-directory参数指定要加载的具体配置文件夹。
修正步骤
- 调整
user-data-dir路径:改为指向User Data目录,去掉末尾的Default - 添加
profile-directory参数:明确指定要加载的配置文件(如Default) - 关闭所有Edge进程:避免原配置文件被占用导致新建Profile
修正后的代码
edge_options = webdriver.EdgeOptions() edge_options.use_chromium = True edge_options.add_argument("no-sandbox") edge_options.add_argument("disable-dev-shm-usage") edge_options.add_argument("disable-features=LockProfileCookieDatabase") # 指定Edge配置的根目录 edge_options.add_argument("user-data-dir=C:\\Users\\Username\\AppData\\Local\\Microsoft\\Edge\\User Data") # 指定要加载的具体配置文件夹 edge_options.add_argument("--profile-directory=Default") driver = webdriver.Edge(options=edge_options) targeturl = 'https://www.targeturl.com/' driver.get(targeturl)
额外注意事项
- 如果运行脚本时仍出现新建Profile的情况,检查是否有Edge后台进程未关闭,可通过任务管理器彻底结束所有Edge相关进程后重试
- 若担心原配置被修改,可复制
Default文件夹到其他路径,然后指定新路径作为profile-directory的参数值
内容的提问来源于stack exchange,提问作者Ra Friction
相关产品推荐
相关产品推荐

