如何在硒中保存whatsapp网络会话?

时间:2020-10-16 10:56:59

标签: python selenium

我尝试使用python来访问whatsapp网站,而不必每次重新启动程序时都扫描QR码(因为在我的普通浏览器中,我也不必这样做)。但是我该怎么做呢?告诉whatsapp网络连接到手机的数据存储在哪里?重新运行代码时,如何保存这些数据并将其发送到浏览器?

我已经尝试过此操作,因为有人告诉我我应该保存cookie:

from selenium import webdriver
import time
browser = None
cookies = None
def init():
    browser = webdriver.Firefox(executable_path=r"C:/Users/Pascal/Desktop/geckodriver.exe")
    browser.get("https://web.whatsapp.com/")
    time.sleep(5) # in this time I scanned the QR to see if there are cookies 
    cookies = browser.get_cookies()
    print(len(cookies))
    print(cookies)
init()

很遗憾,没有cookie。 输出为0和[]。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如对this question的回答中所述,请将您的Chrome个人资料传递给Chromedriver,以避免出现此问题。您可以这样做:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
driver = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", options=options)

答案 1 :(得分:0)

这对我有用,我刚刚在脚本的主目录上创建了一个文件夹,并做了一些修改,效果很好。

############

E_PROFILE_PATH =“用户数据目录= C:\ Users \ Denoh \ Documents \ Project \ WhatBOts \ SessionSaver”

################## 这是我稍后将导入的配置文件 ##################

主要脚本从这里开始 ##################

从硒导入Webdriver

从配置导入E_PROFILE_PATH

options = webdriver.ChromeOptions() options.add_argument(E_PROFILE_PATH)

driver = webdriver.Chrome(executable_path ='chromedriver_win32_86.0.4240.22 \ chromedriver.exe',options = options) driver.get('https://web.whatsapp.com/')