时间:2021-05-22
一. webdriver中常用的cookie方法
webdriver中提供了操作cookie的相关方法:
二. add_cookie()的用法
1. 源码中的解释
源码中简略的向我们展示了如何添加cookie,源码如下:
def add_cookie(self, cookie_dict): """ Adds a cookie to your current session. :Args: - cookie_dict: A dictionary object, with required keys - "name" and "value"; optional keys - "path", "domain", "secure", "expiry" Usage: driver.add_cookie({'name' : 'foo', 'value' : 'bar'}) driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/'}) driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/', 'secure':True}) """ self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})从中可以看出add_cookie()这个函数有一个参数cookie_dict,它是以字典的形式传入的,字典中必选的键是"name"和"value",可选的键是"path", "domin", "secure", "expiry",其实源码中还漏了一个:"httponly"
2. cookie中键名的含义
三. 实例
第一步:我们先手工做一次登录,打开chrome的调试工具(F12),选择Network—Preserve log—XHR
第二步:点击登录,打开调试工具中的login,可以看到右边Response Headers下面就出现了服务器返回给浏览器的cookie
第三步:python代码的实现,最容易出现问题的可能是这一步
from selenium import webdriverdriver = webdriver.Chrome()cookies = {'value': 'think%3A%7B%22username%210293%31628193MDAwMDAwMLOGpZaIudFqhc6Gl7LQetmZtmfOk2RhbQ%22%2C%22expire%sfdaaswMDAwMDAwMLOGud6Gqb-whbiCmLOmdZ4%22%2C%22token%22%3A%22MDAwMDAwMDAwMMurrpWavLehhs1-3LLfgduEt4OWepuo123456123KZq6HQxtOK0ZCme5p-q6iZu2yrn4uNhJ3KedDYk7ivboS4it6910926YW0%22%7D', 'name': 'ketangpai_home_remember'}driver.add_cookie(cookie_dict=cookies)driver.get(https:///Main/index.html")#再次打印driver2的cookieprint(driver2.get_cookies())注意:cookie有两种,一种是会话级别的,一种是有有效期的,会话级别的cookie就不能用add_cookie的方法了,因为一次会话过程(从打开浏览器到关闭浏览器,断开连接)结束后它就失效了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
上一篇博客selenium+python自动化测试(二)–使用webdriver操作浏览器讲解了使用webdriver操作浏览器的各种方法,可以实现对浏览器进行
WebDriver简介selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。seleniumwebdriver的目标是提
一、expected_conditions模块是什么?是Selenium的一个子模块,selenium.webdriver.support.expected_c
selenium+python,使用webdriver的截图函数get_screenshot_as_file()截图,代码如下:fromseleniumimpo
appium和selenium的区别如下: 1、selenium是web端的自动化; 2、appium是app端的自动化,它继承了webdriver(也就是