python get_cookies

Selenium中get_cookies()跟add_cookie(),自测平台免非第三方验证码登录

新手教学(萌新小白,非原创学习分享)

1.先通过录制脚本半手动登录,通过get_cookies(),拿到登录后的所有cookie信息

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep


# 1.打开自测系统的登录界面
url = 'http://localhost:8009/jpress/admin/login'

# 2.编写selenium简易登录脚本
driver = webdriver.Chrome()
driver.get(url)
driver.find_element(By.NAME, 'user').send_keys('admin')
driver.find_element(By.NAME, 'pwd').send_keys('root1234')

# 3.设个等待时间,手动在页面输入验证码,等待自动登录
sleep(10)
driver.find_element(By.XPATH, '//*[@id="form"]/div[4]/div/button').click()
sleep(3)

# 3.等待登录成功后,打印当前页面的cookie数据,要加s啊
cookie = driver.get_cookies()
for i in cookie:
    print(i)

2.通过for循环打印出所有的cookie信息

在这里插入图片描述

3.通过add_cookie(),添加所有cookie到driver 对象中

现在可以把上面↑↑的代码全部注释掉了
要用到两个url,一个是登录界面的url,一个是登录后的主页的url_index

# 这个是登录界面的,一开始有用到
url = 'http://localhost:8009/jpress/admin/login'
# 这个是登录后主页的
url_index = 'http://localhost:8009/jpress/admin/index'


# 先起一个浏览器对象,打开登录界面
driver = webdriver.Chrome()
driver.get(url)


# 然后往登录的driver对象,添加cookie
# 这里关键信息,主要是name,value里面的内容,全部添加都行
driver.add_cookie({'name': 'Hm_lvt_bfe2407e37bbaa8dc195c5db42daf96a','value': '1655609180'})
···
# 我这里5条,所以要加5次,偷懒一下QAQ
···
driver.add_cookie({'name': 'csrf_token', 'value': '522755e272fd4d5797aa25465397fa67'})

# 添加完cookie信息后,用driver对象去访问主页地址,就能顺利进去了
driver.get(url_index)

4.执行,然后就能免登录,顺利进入系统了。

你可能感兴趣的:(python,selenium)