You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python+Selenium+Firefox复用浏览器窗口解决WhatsApp重复扫码问题

解决Selenium+Firefox每次打开WhatsApp Web需重新扫码的问题

我完全懂这种重复扫码的烦躁!你想用Firefox配置文件保留登录状态的思路没问题,大概率是路径或者Selenium版本的配置方式不对,我给你几个针对性的解决方案:

1. 先修正配置文件的路径(最可能的问题)

你写的路径/Users/Hodai/AppData/Roaming/Mozilla/Firefox/Profiles/...是Windows系统的Firefox配置文件路径,但你用的是macOS,正确的默认路径应该是~/Library/Application Support/Firefox/Profiles/。

怎么找准确路径?

  • 打开Firefox,在地址栏输入about:profiles回车
  • 找到你专门为WhatsApp创建的配置文件,复制它的「根目录」完整路径

2. 使用Selenium 4推荐的配置方式(替代已弃用的FirefoxProfile)

从Selenium 4开始,FirefoxProfile已经被标记为弃用,官方推荐用Options类来加载配置文件,这也可能是你之前配置失效的原因。更新后的代码如下:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

# 替换成你从about:profiles复制的真实路径
profile_directory = "/Users/Hodai/Library/Application Support/Firefox/Profiles/v27qat5d.whatsapp_profile"

# 配置Firefox选项
firefox_options = Options()
firefox_options.set_preference('profile', profile_directory)

# 初始化驱动
driver = webdriver.Firefox(
    executable_path="/Users/Hodai/Desktop/geckodriver",
    options=firefox_options
)

driver.get('https://web.whatsapp.com')
# 第一次运行需要扫码,之后脚本会直接读取缓存的登录状态
input('Enter anything after scanning QR code (only required for first run)')

3. 额外的关键注意事项

  • 确保你用来加载的配置文件,已经手动打开Firefox并登录过WhatsApp Web,且勾选了「记住此设备」,这样缓存中才会保存登录凭证。
  • 运行脚本时,不要同时打开使用同一个配置文件的Firefox窗口,否则会因为文件锁导致配置加载失败。
  • 如果还是不行,可以尝试创建全新的Firefox配置文件:打开Firefox时按住Option键,选择「创建配置文件」,用新配置文件登录WhatsApp Web后,再用它的路径配置脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:19:46