跳过cookies访问

Posted wenjing2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳过cookies访问相关的知识,希望对你有一定的参考价值。

from selenium import webdriver
import time,os,json


driver = webdriver.Chrome()
driver.maximize_window()
url = "https://www.cnblogs.com/"
driver.get(url)

#保存cookies到文件中
def save_cookies(driver):
project_path = os.path.dirname(os.getcwd())
file_path = project_path +"/cookies"
if not os.path.exists(file_path):
os.mkdir(file_path)

#从driver中获取cookies
cookies = driver.get_cookies()

#读取cookies
with open(file_path + "Cnblogs.cookies",‘w‘) as c:
json.dump(cookies,c)
print(cookies)

def login():
try:
#登录按钮
driver.find_element_by_xpath(‘//*[@id="span_userinfo"]/a[1]‘).click()
time.sleep(1)
driver.find_element_by_id("LoginName").send_keys(‘wenjing2019‘)
time.sleep(1)
driver.find_element_by_id(‘Password‘).send_keys(‘*****‘)
time.sleep(1)
driver.find_element_by_id(‘submitBtn‘).click()

# 保存cookies到文件中
save_cookies(driver)
finally:
time.sleep(2)


def get_url_with_cookies():
#个人中心界面https://home.cnblogs.com/u/wenjing2019/来验证是否cookies成功
#获取cookies文件并读取
project_path = os.path.dirname(os.getcwd())
file_path = project_path + "/cookies"
cookies_file = file_path + "Cnblogs.cookies"

cn_cookies_file = open(cookies_file,"r")
cn_cookies_file_str = cn_cookies_file.readline()

#加载cookies信息
cn_cookies_file_dict = json.loads(cn_cookies_file_str)

#这个地方先访问网站,先删除旧的cookies,再把保存的cookies添加进去
driver.get("https://www.cnblogs.com/")
driver.delete_all_cookies()

#将cookies信息添加到driver中
for cookies in cn_cookies_file_dict:
driver.add_cookie(cookies)

#验证是否成功
driver.get("https://home.cnblogs.com/u/wenjing2019/")


if __name__=="__main__":
login()
get_url_with_cookies()

以上是关于跳过cookies访问的主要内容,如果未能解决你的问题,请参考以下文章

JS中无法从document.cookie访问cookies,但浏览器显示cookies存在

cookies 练习 2 显示上次访问时间,并且保存设置当前时间 (写入cookies),

基于cookies模拟登录

web自动化-绕过登录

vb 6.0 中有cookies操作的方法吗?

关于Cookies和Session的有效时间分析