利用Selenium添加cookie實現自動登錄的示例代碼(fofa)
介紹
Selenium可以模擬瀏覽器進行自動化操作,但一些網站需要進行登錄才能進行一些操作,比起輸入賬號密碼,cookie是更加方便的。而且fofa首先登錄郵箱賬號時獲得的cookie並不是fofa的cookie,因此我們直接選擇利用fofa的cookie進行自動登錄。但是selenium需要先打開一個網站才會加載進去cookies,因此我們需要將cookies寫在代碼中,加載進去
擴展
- 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後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轉化成str格式 print(jsonCookies) print(type(jsonCookies)) # 登錄完成後,將cookies保存到本地文件 with open("cookies_fofa.json", "w") as fp: fp.write(jsonCookies)
可以看到生成cookies_fofa.json
也就是轉化成str的cookies被保存在該文件中
第一部分完成,獲得瞭頁面的cookies,這樣獲得好處是能知道cookies的格式。
2.添加我們登錄賬戶的cookies實現自動登錄
我們可以先登錄我們的會員號,然後查看其cookie的名和值,然後添加至下面代碼,即可實現自動登錄
代碼如下:
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轉化成dict格式 for cookie in listCookies: browser.add_cookie({ #此處模仿之前生成的cookies_fofa.json的格式寫即可,要用單引號,因為已經轉成dict格式瞭 'domain': '.fofa.so', 'name': 'cookie的名', 'value': 'cookie的值', 'path': '/', 'expires': None }) browser.get("https://classic.fofa.so/")
可以看到成功實現自動登錄
到此這篇關於利用Selenium添加cookie實現自動登錄的示例代碼(fofa)的文章就介紹到這瞭,更多相關Selenium cookie自動登錄內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python中Selenium對Cookie的操作方法
- Python Selenium操作Cookie的實例方法
- python+selenium 實現掃碼免密登錄示例代碼
- Python3使用Selenium獲取session和token方法詳解
- Python爬蟲之Selenium庫的使用方法