Selenium启动新Edge浏览器后WhatsApp网页版无登录状态问题
解决Selenium启动Edge时无法复用WhatsApp网页版登录状态的问题
问题原因
Selenium默认启动的是独立的无缓存Edge浏览器实例,不会读取你日常使用的Edge浏览器的用户数据(包含登录Cookie、会话信息等),所以新打开的窗口是未登录状态。
解决方法
让Selenium加载你本地Edge的用户数据目录,复用已有的登录状态:
1. 获取Edge用户数据路径
Windows系统下默认路径为:
C:\Users\<你的用户名>\AppData\Local\Microsoft\Edge\User Data
将<你的用户名>替换为你电脑的实际用户名,比如C:\Users\Hasan\AppData\Local\Microsoft\Edge\User Data。
2. 修改Selenium代码
添加EdgeOptions配置,指定用户数据目录:
from selenium import webdriver from selenium.webdriver.common.by import By import time from selenium.webdriver.common.keys import Keys from selenium.webdriver.edge.options import Options # 配置Edge选项,加载本地用户数据 edge_options = Options() edge_options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Microsoft\Edge\User Data") # 使用配置好的选项启动浏览器 driver = webdriver.Edge(options=edge_options) driver.get("https://web.whatsapp.com/") driver.maximize_window() time.sleep(10) driver.close()
注意事项
- 运行脚本前请关闭所有正在运行的Edge浏览器窗口,避免用户数据被占用导致冲突。
- 如果不想影响日常使用的浏览器数据,可以复制一份用户数据目录,指定复制后的路径作为
user-data-dir,这样脚本使用独立的副本,不会干扰你的日常浏览。
内容的提问来源于stack exchange,提问作者Hasan Cb
相关产品推荐
相关产品推荐

