zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    把sqlserver2000的备份文件恢复到sqlserver2008中
    application、static、Session、ViewState 的区别
    命令行安装卸载服务(安装卸载.net写的服务)
    C# Windows服务自动安装与注册
    C# System.Guid.NewGuid()
    <base target="_self"/>
    C#写的windows服务,在启动时提示“服务启动后又停止了,一些服务自动停止”
    MVC中validateRequest="false"不起作用
    PL/SQL导出insert语句
    MO和MT
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7506007.html
Copyright © 2011-2022 走看看