利用Selenium添加cookie實(shí)現(xiàn)自動(dòng)登錄的示例代碼(fofa)
介紹
Selenium可以模擬瀏覽器進(jìn)行自動(dòng)化操作,但一些網(wǎng)站需要進(jìn)行登錄才能進(jìn)行一些操作,比起輸入賬號(hào)密碼,cookie是更加方便的。而且fofa首先登錄郵箱賬號(hào)時(shí)獲得的cookie并不是fofa的cookie,因此我們直接選擇利用fofa的cookie進(jìn)行自動(dòng)登錄。但是selenium需要先打開(kāi)一個(gè)網(wǎng)站才會(huì)加載進(jìn)去cookies,因此我們需要將cookies寫(xiě)在代碼中,加載進(jìn)去
擴(kuò)展
- get_cookies(): 獲得所有cookie信息。
- get_cookie(name): 返回字典的key為“name”的cookie信息。
- add_cookie(cookie_dict): 添加cookie?!癱ookie_dict”指字典對(duì)象,必須有name 和value 值。
- delete_cookie(name,optionsString):刪除cookie信息?!皀ame”是要?jiǎng)h除的cookie的名稱(chēng),“optionsString”是該cookie的選項(xiàng),目前支持的選項(xiàng)包括“路徑”,“域”。
- delete_all_cookies(): 刪除所有cookie信息。
步驟
(分為兩部分,先1后2)
以fofa為例:
1.模擬登錄并保存此次登錄的cookies
代碼如下:
import json from selenium import webdriver dirver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') dirver.get('https://classic.fofa.so/') dictCookies = dirver.get_cookies() #獲得所有cookie信息(返回是字典) print(dictCookies) print(type(dictCookies)) jsonCookies = json.dumps(dictCookies) #dumps是將dict轉(zhuǎn)化成str格式 print(jsonCookies) print(type(jsonCookies)) # 登錄完成后,將cookies保存到本地文件 with open("cookies_fofa.json", "w") as fp: fp.write(jsonCookies)
可以看到生成cookies_fofa.json
也就是轉(zhuǎn)化成str的cookies被保存在該文件中
第一部分完成,獲得了頁(yè)面的cookies,這樣獲得好處是能知道cookies的格式。
2.添加我們登錄賬戶(hù)的cookies實(shí)現(xiàn)自動(dòng)登錄
我們可以先登錄我們的會(huì)員號(hào),然后查看其cookie的名和值,然后添加至下面代碼,即可實(shí)現(xiàn)自動(dòng)登錄
代碼如下:
import json from selenium import webdriver browser = webdriver.Chrome() browser.get("https://classic.fofa.so/") browser.delete_all_cookies() #刪除所有cookie信息 with open('cookies_fofa.json', 'r', encoding='utf-8') as f: listCookies = json.loads(f.read()) #loads是將str轉(zhuǎn)化成dict格式 for cookie in listCookies: browser.add_cookie({ #此處模仿之前生成的cookies_fofa.json的格式寫(xiě)即可,要用單引號(hào),因?yàn)橐呀?jīng)轉(zhuǎn)成dict格式了 'domain': '.fofa.so', 'name': 'cookie的名', 'value': 'cookie的值', 'path': '/', 'expires': None }) browser.get("https://classic.fofa.so/")
可以看到成功實(shí)現(xiàn)自動(dòng)登錄
到此這篇關(guān)于利用Selenium添加cookie實(shí)現(xiàn)自動(dòng)登錄的示例代碼(fofa)的文章就介紹到這了,更多相關(guān)Selenium cookie自動(dòng)登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python利用requests庫(kù)模擬post請(qǐng)求時(shí)json的使用教程
這篇文章主要介紹了python利用requests庫(kù)模擬post請(qǐng)求時(shí)json的使用 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12Python+Django搭建自己的blog網(wǎng)站
一直有種想要搭建自己博客系統(tǒng)打沖動(dòng),可惜需要前端知識(shí)較多,而且還要安裝一系列軟件并配置(windows平臺(tái)),后來(lái)偶然發(fā)現(xiàn)了Django這個(gè)神器,恰巧剛學(xué)過(guò)python,于是就又裝了ubuntu(安裝各種軟件配置都方便),折騰了半天,終于搭建起來(lái)自己的第一個(gè)簡(jiǎn)易博客。2018-03-03Python使用multiprocessing實(shí)現(xiàn)多進(jìn)程的詳細(xì)步驟記錄
multiprocessing包是Python中的多進(jìn)程管理包,與threading.Thread類(lèi)似,它可以利用multiprocessing.Process對(duì)象來(lái)創(chuàng)建一個(gè)進(jìn)程,下面這篇文章主要給大家介紹了關(guān)于Python使用multiprocessing實(shí)現(xiàn)多進(jìn)程的詳細(xì)步驟,需要的朋友可以參考下2024-08-08python中altair可視化庫(kù)實(shí)例用法
在本篇文章里小編給大家整理的是一篇關(guān)于python中altair可視化庫(kù)實(shí)例用法,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2021-01-01keras.layers.Conv2D()函數(shù)參數(shù)用法及說(shuō)明
這篇文章主要介紹了keras.layers.Conv2D()函數(shù)參數(shù)用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02python采用getopt解析命令行輸入?yún)?shù)實(shí)例
這篇文章主要介紹了python采用getopt解析命令行輸入?yún)?shù)實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09