Selenium WebDriver(Java)でブラウザのCookieを削除・クリアする方法
Seleniumでは、テストの実行中にブラウザへ保存されたCookieを柔軟に操作できます。Cookieの削除は、ログイン状態のリセットやセッション情報の初期化など、テストの前処理として頻繁に活用される重要なテクニックです。
本記事では、Javaバインディングを使用したCookie削除の方法として、特定の名前のCookieだけを削除する方法と、現在のドメインに存在するすべてのCookieを一括で削除する方法の2つを、実際のコード例とともに解説します。
deleteCookieNamedメソッドで特定のCookieを削除する
deleteCookieNamedメソッドは、指定した名前を持つCookieのみを削除します。削除対象となるCookieの名前を引数として渡します。基本的な流れは「Cookieを追加 → 取得 → 削除」の順になります。
構文
driver.manage().deleteCookieNamed("foo");
deleteAllCookiesメソッドで全Cookieを削除する
deleteAllCookiesメソッドは、現在のドメインに存在するすべてのCookieをまとめて削除します。こちらも同様に、Cookieを追加した後に取得・削除を行う流れで動作を確認できます。
構文
driver.manage().deleteAllCookies();
サンプルコード1:deleteCookieNamedを使用する場合
import java.util.Set;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
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);
// Cookieの取得
Set<Cookie> ck = driver.manage().getCookies();
// Cookieを反復処理しながら表示
for (Cookie cookie : ck) {
System.out.println("Cookie Name : " + cookie.getName());
System.out.println("Cookie Value : " + cookie.getValue());
// 名前を指定してCookieを削除
driver.manage().deleteCookieNamed(cookie.getName());
}
// 削除後のCookieを取得して件数を表示
Set ch = driver.manage().getCookies();
System.out.println("Cookie count after delete: " + ch.size());
}
}
このコードでは、追加された各Cookieの名前と値を出力しながら、deleteCookieNamed()を呼び出して順番に削除しています。最後に削除後のCookie件数を表示することで、削除が正しく行われたことを確認できます。
サンプルコード2:deleteAllCookiesを使用する場合
import java.util.Set;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
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);
// Cookieの取得と表示
Set<Cookie> ck = driver.manage().getCookies();
for (Cookie cookie : ck) {
System.out.println("Cookie Name : " + cookie.getName());
System.out.println("Cookie Value : " + cookie.getValue());
}
// すべてのCookieを一括削除
driver.manage().deleteAllCookies();
// 削除後のCookieを取得して件数を表示
Set ch = driver.manage().getCookies();
System.out.println("Cookie count after delete: " + ch.size());
}
}
この例では、まず追加したCookieの一覧を表示し、その後deleteAllCookies()を一度呼び出すだけで、ドメイン上の全Cookieをまとめて削除しています。
実行結果
いずれのコードも実行すると、削除前に保存されていたCookieの名前と値がコンソールに出力され、削除後のCookie件数が「0」と表示されます。

まとめ
- 特定のCookieだけを消したい場合はdeleteCookieNamed()を使用する
- ドメイン内のCookieをすべて消したい場合はdeleteAllCookies()を使用する
- 削除後は
getCookies()で件数を確認すると、処理が成功したか検証できる
-
【Microsoft Edge】キャッシュとCookieをクリアする方法を徹底解説
Edgeブラウザのキャッシュをクリアする方法をお探しですか?インターネットでウェブサイトを閲覧すると、キャッシュやCookieがバックグラウンドで自動的に作成され、ハードディスクに保存されます。これはすべてのブラウザで起こる現象であり、一度訪れたページの2回目以降の読み込みが速くなるなど、便利な面もあります。しかし、キャッシュやCookieにはいくつかのデメリットもあり、そのひとつとして、Webページの新しいコンテンツが正しく表示されなくなることがあります。最善の解決策は、定期的にキャッシュとCookieをクリアすることです。この記事では、Edgeブラウザでキャッシュをクリアする方法をわかりや
-
ブラウザのCookieと閲覧履歴を削除する方法【Chrome・Edge対応】
インターネットを利用するうえで、Webブラウザは欠かせないアプリケーションです。Google Chrome、Microsoft Edge、Mozilla Firefox、Brave、Tor、Operaなど、有名なブラウザは数多く存在します。これらのブラウザはいずれも、Cookieやキャッシュファイルをパソコン上に保存し、閲覧履歴を記録しています。このデータはページの高速表示、サイト設定の保存、ログイン情報の記憶などに役立ち、過去に訪れたページへのアクセスも容易にしてくれる便利なものです。 しかしこの便利なデータが、プライバシーの観点からはリスクにもなり得ます。ブラウザ開発企業やソフトウェア会社