像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个键和值,不然会报错