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

使用Selenium开发WhatsApp Bot:解决免重复扫二维码登录失败问题

解决Selenium登录WhatsApp网页版免扫码及Chrome崩溃问题

问题描述

尝试用Selenium开发WhatsApp Bot,希望实现免扫码登录网页版,但指定Chrome用户数据路径时出现以下错误:

C:\Program Files\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed

同时旧版的executable_path方法已无法使用。

错误原因

  1. Chrome用户数据路径参数配置错误,未添加--user-data-dir=前缀
  2. 目标数据目录被正在运行的Chrome进程占用
  3. ChromeDriver与Chrome浏览器版本不匹配

解决方案

1. 正确配置Chrome用户数据目录

  • 找到Chrome默认用户数据路径(Windows系统一般为C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data),复制一份到其他路径(比如D:\Chrome_WhatsApp_Profile),避免和日常使用的Chrome冲突
  • 在代码中添加参数时必须带上--user-data-dir=前缀,不能直接传入路径字符串

2. 确保ChromeDriver与Chrome版本匹配

  • 执行命令更新WebDriverManager,确保它能自动匹配对应版本的ChromeDriver:
pip install --upgrade webdriver-manager
  • 手动检查Chrome版本(地址栏输入chrome://settings/help),如果自动匹配失败,可手动下载对应版本的ChromeDriver替换

3. 修正后的完整代码

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import time
from selenium.webdriver.chrome.service import Service

# 替换为你复制后的Chrome用户数据目录路径
CHROME_DATA_PATH = r"D:\Chrome_WhatsApp_Profile"

option = webdriver.ChromeOptions()
# 正确添加用户数据目录参数
option.add_argument(f"--user-data-dir={CHROME_DATA_PATH}")
# 可选:如果有多个用户配置文件,可指定具体目录,比如Profile 1
# option.add_argument("--profile-directory=Profile 1")

# 初始化Driver时传入配置好的options参数
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=option)
driver.maximize_window()
driver.get("https://web.whatsapp.com/")

time.sleep(10)
driver.quit()

额外注意事项

  • 运行代码前关闭所有正在运行的Chrome窗口,防止数据目录被占用
  • 第一次运行代码时需要手动扫码登录一次,后续运行将自动保留登录状态
  • 代码运行过程中不要手动打开使用同一数据目录的Chrome实例,否则会触发崩溃错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:12:28