Selenium獲取登錄Cookies并添加Cookies自動登錄的方法
本章中用到的關(guān)鍵方法如下:
- get_cookies(): 獲得所有cookie信息。
- get_cookie(name): 返回字典的key為“name”的cookie信息。
- add_cookie(cookie_dict): 添加cookie。“cookie_dict”指字典對象,必須有name 和value 值。
- delete_cookie(name,optionsString):刪除cookie信息。“name”是要刪除的cookie的名稱,“optionsString”是該cookie的選項,目前支持的選項包括“路徑”,“域”。
- delete_all_cookies(): 刪除所有cookie信息。
1、模擬登陸并獲取Cookies
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.baidu.com/') # 模擬登陸 driver.find_element_by_link_text('登錄').click() time.sleep(2) driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]').click() time.sleep(2) driver.find_element_by_name("userName").send_keys("賬號") driver.find_element_by_name("password").send_keys("密碼") driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__submit"]').click() time.sleep(20) #可能會出現(xiàn)驗證碼,手動點一下 # 獲取cookies cookies = driver.get_cookies() print(cookies) driver.quit()
2、添加Cookies自動登錄
注:
獲取Cookies的時候每個字典的字段不統(tǒng)一,全部添加會報錯,所以本人只添加了比較重要的幾個字段。
把代碼中cookies字段的list換成上一步獲取的內(nèi)容,或者自己構(gòu)建。
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.baidu.com/') time.sleep(2) cookies = [] #換成上一步獲取的Cookies for cookie in cookies: driver.add_cookie( { 'domain':cookie['domain'], 'name': cookie['name'], 'value':cookie['value'], 'path': cookie['path'] } ) # # 刷新頁面 driver.refresh() # driver.quit() #為方便查看,頁面就不關(guān)了
selenium 使用 cookies
selenium 需要先打開一個網(wǎng)址,才能加載進(jìn)去cookies(知道cookies是哪個網(wǎng)站的)。添加完cookies再打開網(wǎng)址,使用cookies
前面讀取的cookies 是一個包含著每一個cookies的name,value 的字典,即name1:value1,name2:value2字典。遍歷添加網(wǎng)站使用的每一個cookies的name,value.
tbCookies = readTaobaoCookies() brower.get("https://www.taobao.com") for cookie in tbCookies: brower.add_cookie({ "domain":".taobao.com", "name":cookie, "value":tbCookies[cookie], "path":'/', "expires":None }) brower.get("https://www.taobao.com")
Selenium文集傳送門:
標(biāo)題 | 簡介 |
---|---|
Python爬蟲 - Selenium(1)安裝和簡單使用 | 詳細(xì)介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡單使用 |
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 | 詳細(xì)介紹定位元素的8種方式并配合點擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 | 詳細(xì)介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進(jìn)、刷新瀏覽器等方法的使用 |
Python爬蟲 - Selenium(4)配置啟動項參數(shù) | 詳細(xì)介紹Selenium啟動項參數(shù)的配置,其中包括無界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請求頭)等等 |
Python爬蟲 - Selenium(5)鼠標(biāo)事件 | 詳細(xì)介紹鼠標(biāo)右擊、雙擊、拖動、鼠標(biāo)懸停等方法的使用 |
Python爬蟲 - Selenium(6)鍵盤事件 | 詳細(xì)介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲 - Selenium(7)多窗口切換 | 詳細(xì)介紹Selenium是如何實現(xiàn)在不同的窗口之間自由切換 |
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 | 詳細(xì)介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁面中 |
Python爬蟲 - Selenium(9)警告框(彈窗)處理 | 詳細(xì)介紹如何定位并處理多類警告彈窗 |
Python爬蟲 - Selenium(10)下拉框處理 | 詳細(xì)介紹如何靈活的定位并處理下拉框 |
Python爬蟲 - Selenium(11)文件上傳 | 詳細(xì)介紹如何優(yōu)雅的通過send_keys()指定文件進(jìn)行上傳 |
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動登錄 | 詳細(xì)介紹如何獲取Cookies和使用Cookies進(jìn)行自動登錄 |
Python爬蟲 - Selenium(13)設(shè)置元素等待 | 詳細(xì)介紹如何優(yōu)雅的設(shè)置元素等待時間,防止程序運行過快而導(dǎo)致元素定位失敗 |
Python爬蟲 - Selenium(14)窗口截圖 | 詳細(xì)介紹如何使用窗口截圖 |
Python爬蟲 - Selenium(15)關(guān)閉瀏覽器 | 詳細(xì)介紹兩種關(guān)閉窗口的區(qū)別 |
到此這篇關(guān)于Selenium獲取登錄Cookies并添加Cookies自動登錄的方法的文章就介紹到這了,更多相關(guān)Selenium獲取登錄Cookies內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Keras中shuffle和validation_split的順序
這篇文章主要介紹了淺談Keras中shuffle和validation_split的順序,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python集成C#實現(xiàn)界面操作下載文件功能的全過程
使用腳本進(jìn)行下載的需求很常見,下面這篇文章主要給大家介紹了關(guān)于Python集成C#實現(xiàn)界面操作下載文件功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Python3使用matplotlib繪圖時,坐標(biāo)軸刻度不從X軸、y軸兩端開始
這篇文章主要介紹了Python3使用matplotlib繪圖時,坐標(biāo)軸刻度不從X軸、y軸兩端開始問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08Python 中eval()函數(shù)的正確使用及其風(fēng)險分析(使用示例)
eval()是一個功能強大的工具,但使用時必須非常小心,了解其工作原理和潛在的風(fēng)險是確保安全使用的關(guān)鍵,通過遵循上述建議,可以在享受eval()帶來的便利的同時,最大限度地減少安全風(fēng)險,本文介紹Python 中`eval()`函數(shù)的正確使用及其風(fēng)險分析,感興趣的朋友一起看看吧2024-07-07Python的Flask框架及Nginx實現(xiàn)靜態(tài)文件訪問限制功能
這篇文章主要介紹了Python的Flask框架及Nginx實現(xiàn)靜態(tài)文件訪問限制功能,Nginx方面利用到了自帶的XSendfile,需要的朋友可以參考下2016-06-06