###使用cookie登录
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
import time
driver = webdriver.Chrome(service=Service(executable_path=ChromeDriverManager().install()))
#添加cookie前需要先获取网页
driver.get(r'网址1') #登录地址
#name value 先通过手动登录页面获取一下cookie信息
cookies = [{'name': ' xxx', 'value': 'xxx '}]
#遍历列表,添加cookie
for cookie in cookies:
driver.add_cookie(cookie)
#添加cookie后重新获取页面,driver.refresh()刷新没啥用
driver.get(r'网址2') #登录后的首页地址
time.sleep(1000) #肉眼检查一下吧,能打开登录后的首页就是成功了
driver.quit()
PS:参考网上的方法写,最终都是cookie写入成功了,但是页面还是在登录页面,网上说driver.refresh()刷新,刷新没暖用,直接get登录后的网页就好了
---------------------------------------------------------------------------------------------------------------------------------
###查看cookie信息
方式1.登录后F12看请求信息,找cookies 【F12-network-登录请求的Cookies页签内的信息 】
方式2.先用get_cookies()获取cookies信息:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
import time
driver = webdriver.Chrome(service=Service(executable_path=ChromeDriverManager().install()))
driver.get(r'网址') #登录地址
input('-------手动登录中-------') #登录完回到命令窗口回车一下
time.sleep(5) #多等一会儿吧,可能也不需要等了,回来按回车的时间已经够长了[狗头]
cookies = driver.get_cookies() #获取登录后的cookies
print(cookies) #列表,直接复制过去
driver.delete_all_cookies()
driver.refresh()
driver.quit()