Selenium可以模擬瀏覽器進行自動化操作,但一些網(wǎng)站需要進行登錄才能進行一些操作,比起輸入賬號密碼,cookie是更加方便的。而且fofa首先登錄郵箱賬號時獲得的cookie并不是fofa的cookie,因此我們直接選擇利用fofa的cookie進行自動登錄。但是selenium需要先打開一個網(wǎng)站才會加載進去cookies,因此我們需要將cookies寫在代碼中,加載進去
(分為兩部分,先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被保存在該文件中
第一部分完成,獲得了頁面的cookies,這樣獲得好處是能知道cookies的格式。
2.添加我們登錄賬戶的cookies實現(xiàn)自動登錄
我們可以先登錄我們的會員號,然后查看其cookie的名和值,然后添加至下面代碼,即可實現(xiàn)自動登錄
代碼如下:
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的格式寫即可,要用單引號,因為已經(jīng)轉(zhuǎn)成dict格式了 'domain': '.fofa.so', 'name': 'cookie的名', 'value': 'cookie的值', 'path': '/', 'expires': None }) browser.get("https://classic.fofa.so/")
可以看到成功實現(xiàn)自動登錄
到此這篇關(guān)于利用Selenium添加cookie實現(xiàn)自動登錄的示例代碼(fofa)的文章就介紹到這了,更多相關(guān)Selenium cookie自動登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:上海 鷹潭 黔西 惠州 常德 四川 益陽 黑龍江
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用Selenium添加cookie實現(xiàn)自動登錄的示例代碼(fofa)》,本文關(guān)鍵詞 利用,Selenium,添加,cookie,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。