我试图自动化使用Selenium的WhatsApp。问题在于每次启动Chrome实例都需要扫描QRCode。我尝试保存已登录浏览器的cookies,然后加载cookies,但它没有起作用,仍然显示QRCode以进行登录。
我希望存储WhatsApp登录凭据,这样每次运行脚本时就不必重新登录了。
使用Selenium是否可能实现这一点?或者是否有更好的方法?
我希望存储WhatsApp登录凭据,这样每次运行脚本时就不必重新登录了。
使用Selenium是否可能实现这一点?或者是否有更好的方法?
要存储WhatsApp登录,您必须在调试模式下打开Chrome。以下是我在Windows中使用的过程。
首先将chrome.exe添加到环境变量中。然后从cmd中以调试模式打开Chrome。我使用以下vbscript以调试模式打开Chrome。您只需将代码片段保存为chrome_launch.vbs并使用此脚本启动Chrome,第一次使用时会要求您扫描QR码。
Set objStdOut = WScript.StdOut
set osh = createObject("Wscript.shell")
user_profile = """C:\Users\" & osh.ExpandEnvironmentStrings("%USERNAME%") & "\AppData\Local\Google\Chrome\User Data\selenium_chrome_profile"""
osh.run "cmd /c " & "chrome.exe https://web.whatsapp.com/ --remote-debugging-port=9222 --user-data-dir=" & user_profile, 0, True
set osh = Nothing
在登录 WhatsApp Web 后,使用以下 Python 代码片段连接到现有会话:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome('chromedriver.exe', options=chrome_options)