像QQ郵箱這種情況,需要登入網頁才能在取該網頁或者使用selenium控制某個元素,這個時候我們就需要進行網頁登入。但是,很多網頁都會有驗證碼等一些干擾因素,這樣就增加了我們自動登入的難度,這個時候,使用 cookie 登入網頁就能很好的解決這個問題
前提準備環境
Python
Selenium
Firefox
geckodriver 下載地址:https://github.com/mozilla/geckodriver/releases
獲取cookie的插件(谷歌商店搜索editthiscookie)
首先F12抓包獲取到cookie,使用editthiscookie插件進行提取
python代碼實現
from selenium import webdriver
import time
#創建瀏覽器
browser = webdriver.Firefox()
#粘貼過來是是列表中包含的字典[{},{},{}],刪除字典中的false的鍵和值
cookies = [
{
"domain": ".mail.qq.com",
"expirationDate": 1589825222,
"name": "CCSHOW",
"path": "/",
"sameSite": "unspecified",
"storeId": "0",
"value": "000001",
"id": 1
},...{},...{}...,{}
]
browser.get('https://mail.qq.com/')
for cookie in cookies:
browser.add_cookie(cookie)
time.sleep(5)
browser.get('https://mail.qq.com/')
頁面登陸成功
注意:記着刪除這4個鍵和值,不然會報錯