我尝试使用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和[]。 我该如何解决这个问题?
答案 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/')