簡體   English   中英

如何在 python 中使用 selenium 訪問 whatsapp web?

[英]how do I acces whatsapp web with selenium in python?

所以我正在使用 geckodriver.exe(用於 Firefox),並使用以下代碼訪問 whatsapp web:

from selenium import webdriver
browser = None
def init():
    browser = webdriver.Firefox(executable_path=r"C:/Users/Pascal/Desktop/geckodriver.exe")
    browser.get("https://web.whatsapp.com/")
init()

但是每次我重新運行代碼時,都必須再次掃描來自 whatsappweb 的 QR 碼,我不想這樣。 在我的普通 chrome 瀏覽器中,我不必每次都掃描二維碼。 我怎樣才能解決這個問題?

由於每次關閉 selenium 驅動程序/瀏覽器時,會話附帶的 cookie 也將被刪除。 因此,要恢復您保存的 cookie,您可以在會話結束后檢索它,並在下一次開始時恢復它。

為了得到餅干,

# Go to the correct domain, i.e. your Whatsapp web
browser.get("https://www.example.com")
# get all the cookies from this domain
cookies = browser.get_cookies()
# store it somewhere, maybe a text file

用於恢復 cookie

# Go to the correct domain, i.e. your Whatsapp web
browser.get("https://www.example.com")
# get back the cookies
cookies = {‘name’ : ‘foo’, ‘value’ : ‘bar’}
browser.add_cookies(cookies)

您可以做的是在 Firefox 中定義一個配置文件。然后使用該配置文件打開 firefox 並打開 web.whatsapp.com。 系統將提示您輸入二維碼。 你鏈接那個實例。 從那里您可以使用 Python 中新創建的配置文件。

可以通過在 Firefox 的 url 部分鍵入 about:profiles 來創建新的配置文件: 在此處輸入圖像描述 然后單擊“在新瀏覽器中啟動配置文件”打開瀏覽器: 在此處輸入圖像描述

在您的 Python 代碼中,您創建了對此配置文件的引用:

options.add_argument('-profile')
options.add_argument('/home/odroid/Documents/PythonProfile')

也可以在此處找到分步指南。

暫無
暫無

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

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