利用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!

推薦閱讀: