Selenium---Python3---cookie处理

  有时候我们需要验证浏览器中是否存在某个 cookie,因为基于真实的 cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除 cookie 信息。

webdriver 操作cookie 的方法有:
 get_cookies() 获得所有cookie 信息
 get_cookie(name) 返回特定name 有cookie 信息
 add_cookie(cookie_dict) 添加cookie,必须有name 和value 值
 delete_cookie(name) 删除特定(部分)的cookie 信息

 delete_all_cookies() 删除所有cookie 信息

#coding = utf-8

from selenium import webdriver
import os,time

#Selenium cookie处理

#D:\chromedriver_win32\chromedriver.exe
#webdriver 可以帮助我们读取,添加,删除cookie信息。

class driver_onload(object):
    def __init__(self):
        self.driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver.exe')

    def driver_cookie(self):
        self.driver.get('http://www.youdao.com/')

        #获取cookie信息
        cookie = self.driver.get_cookies()

        #输出cookie
        print(cookie)

        #关闭浏览器
        self.driver.close()


    def driver_cookie2(self):
        self.driver.get('http://www.youdao.com/')

        #添加cookie
        self.driver.add_cookie({'name':'key-adadadadadadadad','value':'sdfasdfasdfasdfasd'})

        #遍历cookies 中的name 和value 信息打印,当然还有上面添加的信息
        for cookie in self.driver.get_cookies():
            print("%s -> %s" %(cookie['name'],cookie['value']))

        ####下面可以通过两种方式删除cookie ####
        # 删除一个特定的cookie
        self.driver.delete_cookie("CookieName")

        #删除所有cookie
        self.driver.delete_all_cookies()

        time.sleep(2)
        self.driver.close()

if __name__ == "__main__":
    a = driver_onload()
    a.driver_cookie2()

 

posted @ 2020-04-17 15:55  天象独行  阅读(172)  评论(0编辑  收藏  举报