You need to enable JavaScript to run this app. 如何使用Selenium打开Edge浏览器并保持登录状态
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium打开Edge浏览器并保持登录状态

Selenium默认启动Edge时会创建一个全新的临时空白用户配置,不会加载本地Edge的历史缓存、登录态Cookie、用户偏好等数据,所以无法保留登录状态,可通过以下两种方案解决:

方案1:加载本地Edge用户配置(推荐)
  • 先打开本地Edge,地址栏输入edge://version,找到「个人资料路径」字段,复制对应路径,注意末尾的Default是默认配置文件目录,你也可以换成你自己创建的其他配置文件夹名
  • 代码中配置启动参数加载该配置,Python示例代码如下:
from selenium import webdriver
from selenium.webdriver.edge.options import Options

edge_options = Options()
# 替换为你自己的用户配置父目录,注意去掉路径末尾的\Default
edge_options.add_argument(r"user-data-dir=C:\Users\XXX\AppData\Local\Microsoft\Edge\User Data")
# 如果要指定非默认的配置文件,加下面这行,Profile 1替换为你的配置文件夹名
# edge_options.add_argument("profile-directory=Profile 1")

driver = webdriver.Edge(options=edge_options)
  • 注意启动Selenium前要完全关闭所有本地已经打开的Edge窗口,否则会出现配置文件被占用的报错,无法正常启动。
方案2:手动保存/加载Cookie

适合不需要使用本地配置、或者脚本需要在多环境运行的场景:

  • 第一次启动浏览器后手动完成登录,然后将当前页面的Cookie导出保存到本地文件
  • 后续启动浏览器后,先打开对应网站的域名根路径,再将保存的Cookie加载到浏览器中,刷新页面即可恢复登录态,Python示例代码如下:
import json
from selenium import webdriver

# 第一次运行:保存Cookie
driver = webdriver.Edge()
driver.get("目标网站地址")
# 手动完成登录后,执行下面的代码存Cookie
cookies = driver.get_cookies()
with open("cookies.json", "w") as f:
    json.dump(cookies, f)
driver.quit()

# 后续运行:加载Cookie
driver = webdriver.Edge()
driver.get("目标网站地址")
with open("cookies.json", "r") as f:
    cookies = json.load(f)
for cookie in cookies:
    driver.add_cookie(cookie)
driver.refresh() # 刷新后就会显示已登录状态
  • 注意Cookie存在有效期,过期后需要重新登录保存新的Cookie。
注意事项
  • 两种方案都需要保证Edge浏览器版本和你使用的EdgeDriver版本完全匹配,否则可能出现配置加载失败的问题
  • 如果目标网站有反爬检测,可额外添加--disable-blink-features=AutomationControlled启动参数隐藏Selenium特征,避免登录态被网站强制下线。

内容的提问来源于stack exchange,提问作者mincla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 04:24:04