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.pswp.cn/bicheng/18078.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18078.shtml
英文地址,請注明出處:http://en.pswp.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;實時視頻預覽 …