簡體   English   中英

如何使用 Selenium Python 保存 Whatsapp web 的會話?

[英]How to save the session of Whatsapp web with Selenium Python?

我的期望是在驗證后會自動將某些內容添加到 cookies 數組中,但事實並非如此。

driver = webdriver.Chrome(chromedriver)
whatsapp_url = "https://web.whatsapp.com"
driver.get(whatsapp_url)
print(driver.get_cookies())
time.sleep(30) # We are doing the manual QR code verification here
print(driver.get_cookies())

driver.get_cookies()前后也是空的

嘗試這個:

options = webdriver.ChromeOptions();
options.add_argument('--user-data-dir=./User_Data')
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://web.whatsapp.com/')

您需要第一次登錄。 當您必須存儲會話時,它始終有效。 無需導入/導出 cookie。

我無法評論 Abhi Bhalgami 的回答,但我需要根據另一篇文章進行一些更改:

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

chromepath = r'E:\chromedriver\chromedriver.exe'
options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data")
driver = webdriver.Chrome(executable_path=chromepath, chrome_options=options)

從 Chrome 瀏覽器本地存儲中提取並保存 whatsapp 會話,然后在另一台設備上使用它

我不確定,但您可以使用 pickle 保存當前的 cookie,例如:

import pickle
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.google.com")
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))

之后使用以下代碼將它們添加回來:

import pickle
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.google.com")
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    driver.add_cookie(cookie)

Web Whatsapp 將會話存儲在 IndexedDB 中並將這些值同步到本地存儲。

這是您可以嘗試的工作代碼: tithiwa/session.py使用此javascript 代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM