selenium抓取cookie进行模拟登陆

  • 说明:
    • 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()

猜你喜欢

转载自blog.csdn.net/qq_42815634/article/details/84137018