Selenium常用API的使用java語言之18-瀏覽器cookie操作


有時候我們需要驗證瀏覽器中Cookie是否正確, 因為基於真實Cookie的測試是無法通過白盒測試和集成測試進行的。WebDriver提供了操作Cookie的相關方法可以讀取、 添加和刪除Cookie信息。
WebDriver 操作Cookie的方法:

  • getCookies() 獲得所有 cookie 信息。
  • getCookieNamed(String name) 返回字典的key為“name”的Cookie信息。
  • addCookie(cookie dict) 添加Cookie。“cookie_dict”指字典對象,必須有 name和value值。
  • deleteCookieNamed(String name) 刪除Cookie 信息。 “name”是要刪除的 cookie的名稱; “optionsString” 是該Cookie的選項,目前支持的選項包括“路徑” , “域” 。
  • deleteAllCookies() 刪除所有 cookie 信息。

下面通過 geCookies()來獲取當前瀏覽器的 cookie 信息。

import java.util.Set;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.Cookie;
public class CookieDemo {
 
  public static void main(String[] args){
 
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.baidu.com");
 
    Cookie c1 = new Cookie("name", "key-aaaaaaa");
    Cookie c2 = new Cookie("value", "value-bbbbbb");
    driver.manage().addCookie(c1);
    driver.manage().addCookie(c2);
 
    //獲得 cookie
    Set<Cookie> coo = driver.manage().getCookies();
    System.out.println(coo);
 
    //刪除所有 cookie
    //driver.manage().deleteAllCookies();
 
    driver.quit();
  }
}

打印結果:

[BIDUPSID=82803D3E2DAD0F5342D22C8F96B9E088; expires=星期六, 24 二月 208512:40:10 CST; path=/; domain=.baidu.com, name=key-aaaaaaa; path=/;domain=www.baidu.com, PSTM=1486301167; expires=星期六, 24 二月 2085 12:40:10 CST;path=/; domain=.baidu.com,H_PS_PSSID=1437_21094_21943_22023; path=/;domain=.baidu.com, BD_UPN=12314753; expires=星期三, 15 二月 2017 09:26:04 CST;path=/; domain=www.baidu.com, value=value-bbbbbb; path=/;domain=www.baidu.com,BAIDUID=82803D3E2DAD0F5342D22C8F96B9E088:FG=1; expires=星期六, 24 二月 208512:40:10 CST; path=/; domain=.baidu.com, BD_HOME=0; path=/;domain=www.baidu.com, __bsi=16852840641557463410_00_0_I_R_1_0303_C02F_N_I_I_0;expires=星期日, 05 二月 2017 09:26:10 CST; path=/; domain=.www.baidu.com]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM