- 说明:
- selenium抓取cookie模拟登陆,理论上可以登录任何网站。以下两段代码分别介绍抓取cookie,和携带cookie登录。
- 抓取cookie.json代码
import json
from selenium import webdriver
import time
url = 'https://www.taobao.com/'
driver = webdriver.Chrome()
driver.get(url)
# 卡主浏览器 回车继续运行
input('请手动登录')
# 获取cookie并通过json模块将dict转换成str
dictCookies = driver.get_cookies() # 核心
jsonCookies = json.dumps(dictCookies)
print(jsonCookies)
# 登录完成后将cookie保存到本地文件
with open('taobao.json','w') as f:
f.write(jsonCookies)
time.sleep(3)
driver.close()
- 携带cookie进行模拟登陆
- 携带cookie登录后需要刷新页面才会显示登录,以下代码已经使用代码进行页面刷新
import json
from selenium import webdriver
import time
url = 'https://www.taobao.com/'
driver = webdriver.Chrome()
driver.get(url)
# 卡主浏览器 回车继续运行
input('回车自动登录')
driver.get(url)
# 删除第一次建立连接时的cookie
driver.delete_all_cookies()
# 读取本地的cookie文件
with open('taobao.json','r',encoding='utf8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
driver.add_cookie({
"domain":".taobao.com",
"expiry":1557891103,
"httpOnly":cookie['httpOnly'],
"name":cookie['name'],
"path":"/",
"secure":cookie['secure'],
"value":cookie['value']
})
# 读取完cookie刷新页面
driver.refresh()
input('按回车键退出')
driver.close()