Python+selenium 之操作Cookie

在验证浏览器中cookie是否正确时,有时基于真实cookie的测试是无法通过白盒和集成测试进行的。Webdriver提供了操作Cookie的相关方法,可以读取,添加和删除cookie信息。

文本webdriver操作cookie()的方法:

get_cookie(): 获得所有cookie信息。

get_cookie(name):返回字典的key为name的cookie

add_cookie(cookie_dict):添加cookie。“cookie_dict”指字典对象,必须有name和value值。

delete_cookie(name,optionsString):删除cookie信息。“name”是要删除的cookie的名称。“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”

delete_all_cookies():删除所有cookie信息。

获取cookie代码如下:

 1 from selenium import webdriver
 2 driver = webdriver.Firefox()
 3 # driver.get("http://member.rltxtest.xyz/login/login.html")
 4 driver.get("http://www.youdao.com")
 5 
 6 # 获取cookie信息
 7 cookies = driver.get_cookies()
 8 # 打印获取的cookies信息
 9 print(cookies)
10 
11 driver.quit()

添加cookie的代码:

 1 from selenium import webdriver
 2 
 3 driver = webdriver.Firefox ()
 4 # driver.get("http://member.rltxtest.xyz/login/login.html")
 5 driver.get ("http://www.youdao.com")
 6 # 向cookie中name和value中添加回话信息
 7 driver.add_cookie ({'name': 'key-aaaaaaa'}, {'value': 'value-bbbbb'})
 8 
 9 # 遍历cookie中name和value信息并打印对应的信息,并包括添加对应的信息
10 for cookie in driver.get_cookies ():
11     print("%s->%s" % (cookie['name'], cookie['value']))
12 
13 driver.quit ()

 记录cookie

  通过向浏览器中添加cookie可以绕过登录的验证码。在登录的时候勾选记住密码,当下次访问该网站时就默认处于登录状态了。记住密码功能其实就记录了浏览器的cookie中。通过webdriver来操作浏览器的cookie,可以通过add_cookie()方法将用户名密码写入浏览器cookie,当再次访问时,服务器将直接读取浏览器的cookie进行登录。

 1 from selenium import webdriver
 2 import time
 3 
 4 driver = webdriver.Firefox()
 5 driver.get("http://192.168.1.51/oneCard/login")
 6 #将用户名密码写入浏览器cookie中
 7 driver.add_cookie({'name':'username','value':'super'})
 8 driver.add_cookie({'name':'password','value':'asd,./123*.'})
 9 #再次访问网站,将会自动登录
10 driver.get("http://192.168.1.51/oneCard/login")
原文地址:https://www.cnblogs.com/fengyiru6369/p/7506007.html