Python?selenium?get_cookies獲取cookie不全的解決方案
一、場景
瀏覽器訪問淘寶,再訪問天貓,繼續(xù)訪問1688......
此時,瀏覽器中的cookie是什么狀態(tài)?
顯然,包含上述3個網(wǎng)站的所有cookie
二、此時,若通過selenium get_cookies()方法,能獲取到瀏覽器所有cookie嗎?
答案顯然是不能的(webdriver安全考慮),此方法只能獲取當(dāng)前請求域名下的所有cookie
故訪問天貓或1688會登錄失敗。
那可以通過什么方式,將瀏覽器所有cookie獲?。?/p>
方案一:基于瀏覽器內(nèi)核,打造屬于自己的瀏覽器,解除限制
方案二:掛代理,F(xiàn)iddler,mitmproxy等
方案三:分別請求對應(yīng)域名,獲取所有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)
補(bǔ)充:selenium通過add_cookie()添加cookie
selenium通過add_cookie()添加cookie,再次訪問網(wǎng)站時,服務(wù)器直接讀取瀏覽器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')
總結(jié)
到此這篇關(guān)于Python selenium get_cookies獲取cookie不全解決的文章就介紹到這了,更多相關(guān)Python selenium get_cookies獲取cookie內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python和OpenCV庫實(shí)現(xiàn)識別人物出現(xiàn)并鎖定
本文主要介紹了Python和OpenCV庫實(shí)現(xiàn)識別人物出現(xiàn)并鎖定,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04python 解決Fatal error in launcher:錯誤問題
這篇文章主要介紹了python 解決Fatal error in launcher:錯誤問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10Tensorflow 訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存
這篇文章主要介紹了Tensorflow 訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06