Python?selenium?get_cookies獲取cookie不全的解決方案
一、場景
瀏覽器訪問淘寶,再訪問天貓,繼續(xù)訪問1688......
此時,瀏覽器中的cookie是什么狀態(tài)?
顯然,包含上述3個網站的所有cookie

二、此時,若通過selenium get_cookies()方法,能獲取到瀏覽器所有cookie嗎?
答案顯然是不能的(webdriver安全考慮),此方法只能獲取當前請求域名下的所有cookie
故訪問天貓或1688會登錄失敗。
那可以通過什么方式,將瀏覽器所有cookie獲???
方案一:基于瀏覽器內核,打造屬于自己的瀏覽器,解除限制
方案二:掛代理,Fiddler,mitmproxy等
方案三:分別請求對應域名,獲取所有cookie(推薦,筆者首創(chuàng))
三、樣例代碼
lmdd_url = f'{self.root_lmdd_url}/seller/dashboard/plan/order'
self.chrome.get(lmdd_url)
cookie_list = self.chrome.get_cookies()
self.chrome.get(self.root_lmdd_api_url)
cookie_list_api = self.chrome.get_cookies()
cookie_list.extend(cookie_list_api)
self.update_session_cookie(cookie_list)補充:selenium通過add_cookie()添加cookie
selenium通過add_cookie()添加cookie,再次訪問網站時,服務器直接讀取瀏覽器cookie
第一次登陸 手動輸入用戶名密碼
# -*- coding:utf-8 -*-
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
sleep(2)
driver.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
driver.add_cookie({'name':'userName','value':'youname'})
driver.add_cookie({'name':'password','value':'youpassword'})
sleep(30)
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium')總結
到此這篇關于Python selenium get_cookies獲取cookie不全解決的文章就介紹到這了,更多相關Python selenium get_cookies獲取cookie內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用Pygal庫創(chuàng)建可縮放的矢量圖表的操作方法
在本文中,我們探討了如何使用Pygal庫創(chuàng)建可縮放的矢量圖表,首先,我們介紹了Pygal的基本概念和安裝方法,然后通過多個示例演示了如何創(chuàng)建各種類型的圖表,包括折線圖、柱狀圖、餅圖、散點圖、雷達圖和地圖等,需要的朋友可以參考下2024-05-05

