使用 Selenium WebDriver Java 绑定清除浏览器 Cookies。
software testingautomation testingselenium web driverjava
我们可以在 Selenium 中清除浏览器 cookies。方法 deleteCookieNamed 将删除具有特定名称的 cookie。命名的 cookie 作为参数传递给该方法。首先,我们将添加一个 cookie,然后获取它并最终删除它。
语法
driver.manage().deleteCookieNamed("foo");
另一种称为 deleteAllCookies 的方法将从现有域中删除所有 cookie。首先,我们将添加 cookie,然后获取并删除它们。
语法
driver.manage().deleteAllCookies();
示例
import java.util.Set; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class DeleteCookiesViaName{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.tutorialspoint.com/index.htm"); // 等待 4 秒 driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS); // 设置 cookie 的名称和值 Cookie c = new Cookie("test", "selenium"); Cookie r = new Cookie("subject", "Java"); // 添加 cookie driver.manage().addCookie(c); driver.manage().addCookie(r); // 获取 cookies Set<Cookie> ck = driver.manage().getCookies(); // 遍历 cookies for (Cookie cookie : ck) { System.out.println("Cookie Name : "+cookie.getName()); System.out.println("Cookie Value : "+cookie.getValue()); // 根据名称删除 cookies driver.manage().deleteCookieNamed(cookie.getName()); } // 获取删除后的 cookie Set ch = driver.manage().getCookies(); System.out.println("删除后的 Cookie 数量:"+ch.size()); } }
示例
使用 deleteAllCookies 的代码实现。
import java.util.Set; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class DeleteCookiesAll{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.tutorialspoint.com/index.htm"); // 等待 4 秒 driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS); // 设置 cookie 的名称和值 Cookie c = new Cookie("test", "selenium"); Cookie r = new Cookie("subject", "Java"); // 添加 cookie driver.manage().addCookie(c); driver.manage().addCookie(r); // 获取 cookies Set<Cookie> ck = driver.manage().getCookies(); // 遍历 cookies for (Cookie cookie : ck) { System.out.println("Cookie Name : "+cookie.getName()); System.out.println("Cookie Value : "+cookie.getValue()); } // 删除 cookies driver.manage().deleteAllCookies(); // 获取删除后的 cookies Set ch = driver.manage().getCookies(); System.out.println("删除后的 Cookie 数量:"+ch.size()); } }