Selenium操作浏览器Cookie(增/删/查看cookie)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 创建Cookie
  • 2. 添加Cookie
  • 3. 获取Cookie
    • 3.1 获取所有Cookie
    • 3.2 根据名称获取Cookie
  • 4. 删除Cookie
    • 4.1 根据名称删除
    • 4.2 根据对象删除
    • 4.3 删除全部
  • 5. 完整代码


执行程序前请先配置驱动:
关于Java selenium使用前浏览器驱动的下载和环境变量的配置
关于Selenium自动化测试工具的Java实现详情请参考文章:
如何查看页面对应的Selenium定位参数
Java实现 selenium Web自动化测试(简单篇)
Java实现 selenium Web自动化测试(详细篇)


1. 创建Cookie

        //创建cookieCookie cookie1 = new Cookie("name","key-libai");

2. 添加Cookie

        //添加cookiewebDriver.manage().addCookie(cookie1);

3. 获取Cookie

3.1 获取所有Cookie

        //获取所有cookieSet<Cookie> cookiesSet = webDriver.manage().getCookies();

3.2 根据名称获取Cookie

        //获取指定名称的cookieString cookieName = "name";Cookie name = webDriver.manage().getCookieNamed(cookieName);

4. 删除Cookie

4.1 根据名称删除

        //删除后再次查看全部cookie,检测是否删除成功Set<Cookie> cookiesSet1 = webDriver.manage().getCookies();

4.2 根据对象删除

        //删除cookie 使用cookie对象删除webDriver.manage().deleteCookie(cookie2);

4.3 删除全部

        //删除cookie 删除全部cookiewebDriver.manage().deleteAllCookies();

5. 完整代码

BrowserCookieTest.java

package com.libai.test.selenium.chrome;import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;import java.util.Set;/*** @ClassDescription: 浏览器cookie操作* @JdkVersion: 1.8* @Author: 李白* @Created: 2024/5/9 14:26*/
public class BrowserCookieTest {public static void main(String[] args) {//指定驱动,第一个参数为驱动名称,不同浏览器的参数名称不一样,请根据浏览器查询到对应的浏览器参数名,第二个参数为驱动文件路径,即驱动完整文件路径System.setProperty("webdriver.chrome.driver", "D:\\JavaSoftWares\\Google\\driver\\chromedriver-win64\\chromedriver.exe");// 谷歌驱动ChromeOptions cops = new ChromeOptions();// 允许所有请求cops.addArguments("--remote-allow-origins=*");//默认设置开始打开网页时窗口最大化cops.addArguments("--start-maximized");//创建驱动对象WebDriver webDriver = new ChromeDriver(cops);// 启动需要打开的网页webDriver.get("https://www.baidu.com");//操作cookie的方法//创建cookieCookie cookie1 = new Cookie("name","key-libai");Cookie cookie2 = new Cookie("password","libai-123");Cookie cookie3 = new Cookie("address","libai-shanghai");//添加cookiewebDriver.manage().addCookie(cookie1);webDriver.manage().addCookie(cookie2);webDriver.manage().addCookie(cookie3);//获取所有cookieSet<Cookie> cookiesSet = webDriver.manage().getCookies();System.out.println("\n\n\n\n\n查看所有cookie cookieSet: "+cookiesSet+"\n\n\n\n\n");//获取指定名称的cookieString cookieName = "name";Cookie name = webDriver.manage().getCookieNamed(cookieName);System.out.println("\n\n\n\n\n获取cookie中name对应的值:"+name+"\n\n\n\n\n");//删除cookie 指定名称删除String cookieName1 = "name";webDriver.manage().deleteCookieNamed(cookieName1);//删除后再次查看全部cookie,检测是否删除成功Set<Cookie> cookiesSet1 = webDriver.manage().getCookies();System.out.println("\n\n\n\n\ncookieSet1: "+cookiesSet1+"\n\n\n\n\n");//删除cookie 使用cookie对象删除webDriver.manage().deleteCookie(cookie2);//删除后再次查看全部cookie,检测是否删除成功Set<Cookie> cookiesSet2 = webDriver.manage().getCookies();System.out.println("\n\n\n\n\ncookieSet2: "+cookiesSet2+"\n\n\n\n\n");//删除cookie 删除全部cookiewebDriver.manage().deleteAllCookies();//删除后再次查看全部cookie,检测是否删除成功Set<Cookie> cookiesSet3 = webDriver.manage().getCookies();System.out.println("\n\n\n\n\ncookieSet3: "+cookiesSet3+"\n\n\n\n\n");webDriver.quit();}
}

感谢阅读,祝君暴富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

更新.gitmodules的子模块仓库地址,但是没有生效,需要运行命令

当你更新了 .gitmodules 文件中的子模块仓库地址后&#xff0c;为了使这些更改生效并同步到实际的子模块目录&#xff0c;你需要执行以下步骤&#xff1a; 同步.gitmodules的更改&#xff1a; 使用 git submodule sync 命令来同步.gitmodules文件中的URL修改到你的本地配置。执…

在VS Code中进行Java的单元测试

在VS Code中可以使用 Test Runner for Java扩展进行Java的测试执行和调试。 Test Runner for Java的功能 Test Runner for Java 结合 Language Support for Java by Red Hat 和 Debugger for Java这两个插件提供如下功能&#xff1a; 运行测试&#xff1a; Test Runner for …

Flutter 中的 Flex 小部件:全面指南

Flutter 中的 Flex 小部件&#xff1a;全面指南 Flutter 的布局系统非常灵活&#xff0c;允许开发者以声明式的方式构建复杂的用户界面。Flex 是 Flutter 中用于创建灵活布局的核心小部件之一&#xff0c;它提供了水平和垂直的线性布局能力。本文将详细介绍 Flex 小部件的使用…

QT学习(20):QStyle和自定义样式

QStyle 样式&#xff08;继承自QStyle类&#xff09;代表控件的绘制并封装GUI的外观。QStyle是一个封装了GUI外观的抽象基类。Qt使用QStyle去执行几乎所有的内置控件的绘制&#xff0c;确保控件外观和原生控件风格风格相同。 class Q_WIDGETS_EXPORT QStyle : public QObject{…

【OpenCV】图像通道合并与分离,ROI

介绍可以实现图像通道合并与分离的API&#xff0c;这只是一种方式&#xff0c;后续还会介绍其他的合并与分离方法&#xff0c;以及ROI区域截取的方法。相关API&#xff1a; split() merge() Mat对象() 代码&#xff1a; #include "iostream" #include "ope…

Hive的小文件处理

针对ORC存储格式的小文件 --orc合并小文件的特定语法,使用concatenate(连接、使连续)关键字 --非分区表 alter table table_name concatenate;--分区表 alter table table_name partition(dtxxx) concatenate;针对TEXTFILE存储格式的小文件 --将这些小文件进行合并,这里使用d…

MySQL进阶之(九)数据库的设计规范

九、数据库的设计规范 9.1 范式的概念9.1.1 范式概述9.1.2 键和相关属性 9.2 常见的范式9.2.1 第一范式9.2.2 第二范式9.2.3 第三范式9.2.4 第四范式9.2.5 第五范式&#xff08;域键范式&#xff09; 9.3 反范式化9.3.1 概述9.3.2 举例9.3.3 反范式化新问题9.3.4 通用场景 9.4 …

18 - grace数据处理 - 补充 - 地下水储量计算过程分解 - 地表水储量变化Glads水文数据处理

18 - grace数据处理 - 补充 - 地下水储量计算过程分解 - 地表水储量变化 0 引言1 Grace陆地水储量过程整合0 引言 由水量平衡方程可以将地下水储量的计算过程分解为3个部分,第一部分计算陆地水储量变化、第二部分计算地表水储量变化、第三部分计算地下水储量变化。本篇简单介绍…

2024.05.28学习记录

1. 小林coding 计网复习 2.代码随想录刷题. 图论.和复习数组.链表 3.rosebush完成select组件

在Go语言中如何实现变参函数和函数选项模式

在Go语言编程中,我们经常会遇到需要给函数传递可选参数的情况。传统的做法是定义一个结构体,将所有可选参数作为结构体字段,然后在调用函数时创建该结构体的实例并传递。这种方式虽然可行,但是当可选参数较多时,创建结构体实例的代码就会变得冗长และ不太直观。 Go语言的一个…

计算机笔记13(续20个)

210.办公自动化服务是一种应用软件实现的功能&#xff0c;不是网络操作系统提供的服务 211.中文windows中包含的汉字库文件库文件是用来解决输出时转换为显示或打印字模 212.汉字系统中的汉字字库里存放的是汉字的字形码 213.目前最为严重的病毒是木马病毒 214.网络安全服务…

景源畅信电商:做抖音运营怎么开始第一步?

在数字化时代的浪潮中&#xff0c;抖音作为一款短视频平台迅速崛起&#xff0c;成为许多人表达自我、分享生活的重要舞台。随着用户量的激增&#xff0c;如何做好抖音运营&#xff0c;尤其是迈出成功的第一步&#xff0c;成为了众多内容创作者和品牌主们关注的焦点。接下来&…

Web应用开发学习笔记————Vue框架

Vue框架快速入门 Vue入门 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>vue入门</title><!--引入vue.js文件--><script src"../js/vue.js"><…

就说说Java初学者求职准备项目的正确方式

当下不少Java初学者也知道求职时项目的重要程度&#xff0c;但在简历上写项目和准备面试项目时&#xff0c;真有可能走弯路&#xff0c;这样的话&#xff0c;加重学习负担还是小事&#xff0c;还真有可能导致无法入职。 1 对于在校生和应届生来说&#xff0c;你去跑通个学习项…

2024年4月—马克思主义基本原理概论真题及答案解析(上海自考)

目录 1.选择题 2.简答题 3.论述题 1.选择题 2.简答题

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(九)

本系列课程&#xff0c;将重点讲解Phpsploit-Framework框架软件的基础使用&#xff01; 本文章仅提供学习&#xff0c;切勿将其用于不法手段&#xff01; 继续接上一篇文章内容&#xff0c;讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 现在&#xff0c;我们…

STM32——定时器

一、简介 *定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时触发中断 *16位计数器、预分频器、自动重装寄存器的时基单元&#xff0c;在72MHz计数时钟下可以实现最大59.65s的定时 *不仅具备基本的定时中断功能&#xff0c;而且还包含内外时钟源选择、输入…

基于SpringBoot的本科生考研率统计系统

基于SpringBoot的本科生考研率统计系统 一、开发技术二、功能模块三、代码结构四、数据库设计五、运行截图六、源码获取 一、开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、Redis、MySQL、Thymeleaf、Html、Vue、Element-ui。 框架&#xff1a;基于开源框架easy-admin开…

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中&#xff0c;抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则&#xff0c;新手小白如何才能在抖音小店的海洋里稳健航行&#xff0c;捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位&#xff0c;明确目…

视频监控平台AS-V1000 的场景管理,一键查看多画面视频的场景配置、调用、管理(一键浏览多路视频)

目录 一、场景管理的定义 二、场景管理的功能和特点 1、功能 &#xff08;1&#xff09;场景配置 &#xff08;2&#xff09;实时监控 &#xff08;3&#xff09;权限管理 2、特点 三、AS-V1000的场景配置和调用 1、场景配置 &#xff08;1&#xff09;实时视频预览 …