zoukankan      html  css  js  c++  java
  • Python+Selenium笔记(十七):操作cookie

    (一)方法

    方法

    简单说明

    add_cookie(cookie_dict)

    在当前会话中添加cookie信息

    cookie_dict:字典,name和value是必须的

    delete_all_cookies()

    在当前会话中删除所有cookie信息

    delete_cookie(name)

    删除单个名为name的cookie信息

    get_cookie(name)

    返回单个名为name的cookie信息,如果没有找到,返回none

    get_cookies()

    返回当前会话所有的cookie信息

     

    (二)对比登录前后cookie的区别

     1 from selenium import webdriver
     2 import time
     3 # driverOption = webdriver.ChromeOptions()
     4 # driverOption.add_argument(r'user-data-dir=C:Users123456AppDataLocalGoogleChromeUser Data')
     5 driver = webdriver.Chrome()
     6 driver.implicitly_wait(5)
     7 driver.maximize_window()
     8 driver.get('https://www.cnblogs.com/')
     9 print("登录前:")
    10 for ck in driver.get_cookies():
    11     print(ck)
    12 login_area = driver.find_element_by_css_selector('#login_area')
    13 register = login_area.find_element_by_link_text('登录')
    14 register.click()
    15 #这步等待25秒,手动输入账号密码,登录。记得勾选下次自动登录
    16 time.sleep(25)
    17 print('登陆后')
    18 for ck in driver.get_cookies():
    19     print(ck)
    20 driver.quit()

    对比下图的输出,可以发现,登录后多了'name': '.CNBlogsCookie','name': '.Cnblogs.AspNetCore.Cookies'。

    (三)添加cookie,实现自动登录(通过这种方式可以跳过验证码)

    下面的代码记得添加value的值

     1 from selenium import webdriver
     2 import time
     3 # driverOption = webdriver.ChromeOptions()
     4 # driverOption.add_argument(r'user-data-dir=C:Users123456AppDataLocalGoogleChromeUser Data')
     5 driver = webdriver.Chrome()
     6 driver.implicitly_wait(5)
     7 driver.maximize_window()
     8 driver.get('https://www.cnblogs.com/')
     9 #value的值,把自己第二步中打印出来的value值复制过来就行了。
    #这里加domain是因为默认添加的域名是www.cnblogs.com,所以指定域名
    10 # (IDE不好复制的话,可以ctrl+a先复制到一些文档编辑软件上去,然后再复制回来) 11 driver.add_cookie({ 12 'domain': '.cnblogs.com', 13 'name': '.CNBlogsCookie', 14 'value':'' 15 16 }) 17 #value的值,把自己第二步中打印出来的value值复制过来就行了。 18 driver.add_cookie({ 19 'domain': '.cnblogs.com', 20 'name': '.Cnblogs.AspNetCore.Cookies', 21 'value': '' 22 23 } 24 ) 25 time.sleep(2) 26 #刷新页面 27 driver.refresh() 28 time.sleep(3) 29 driver.quit()

     

    (四)加载谷歌的用户配置文件(这个和操作cookie没什么关系,懒得专门写一篇了,就放到这了)

     1 from selenium import webdriver
     2 import time
     3 driverOption = webdriver.ChromeOptions()
     4 #把这个C:Users123456AppDataLocalGoogleChromeUser Data替换成自己的就行了
     5 #123456把这个换成本地计算机的用户名应该就是了
     6 driverOption.add_argument(r'user-data-dir=C:Users123456AppDataLocalGoogleChromeUser Data')
     7 driver = webdriver.Chrome(chrome_options=driverOption)
     8 driver.implicitly_wait(5)
     9 driver.maximize_window()
    10 driver.get('https://www.cnblogs.com/')
    11 time.sleep(3)
    12 driver.quit()
  • 相关阅读:
    智能车回忆
    自动化面试问题
    先进控制理论(转载)
    电力电子技术(转载)
    微型计算机原理及应用复习(转载)
    c语言中数值交换用值传递和地址传递
    unity调用苹果端方法
    unity调用安卓arr方法
    unity mono单例
    loading通用界面笔记
  • 原文地址:https://www.cnblogs.com/simple-free/p/8549874.html
Copyright © 2011-2022 走看看