簡體   English   中英

如何在 Selenium 中使用相同的 session

[英]How to use the same session in Selenium

我正在使用 python 和 selenium 開發 scrapy 程序。 在采取任何行動之前,我要抓取的網站需要登錄。 每次它要求我在運行程序時登錄我的帳戶。 我發現通過添加 cookie 可以讓瀏覽器記住我的 session,但不幸的是它仍然無法登錄。 任何人都可以指導代碼嗎? 謝謝

我的代碼:

import pickle
import time
from selenium import webdriver

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

#product URL

driver.get("www.//xxx123.com/xxx")

driver.add_cookie({'domain': '.xxx123.com', 'expiry': 1677743964, 'httpOnly': False, 'name': '_ga','path': '/', 'secure': False, 'value': 'GA1.1.203675790.1614671945'})

當您使用 Chrome 驅動程序時,您應該知道,每次啟動它時,它都會創建一個臨時配置文件,當您關閉它時會刪除該配置文件。

根據您嘗試抓取的網頁,從 cookies 恢復 session 數據可能是一個挑戰。 首先創建配置文件並重新使用它可能更容易,只要它允許您用於持久性目的。

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

您的 Chrome 配置文件的路徑應在此處可用: chrome://version/

根據我的經驗,最好創建一個為您處理登錄的方法。 嘗試檢測登錄頁面中的元素; 如果它不存在,請照常進行。 如果是,請執行登錄。

暫無
暫無

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

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