selenium使用cookie登录

###使用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()

你可能感兴趣的:(selenium,python,测试工具)