「deleteAllCookies」は全てのクッキーを削除します。
「deleteCookie」は引数に削除したいクッキー名を指定するのに対して、「deleteAllCookies」は引数にはなにも指定せず実行することで、カレントドメインの全てのクッキーを削除します。
下記サンプルでは、「deleteAllCookies」実施前の保持しているクッキーと、実施後の保持しているクッキーを比較しています。
説明
◆メソッド ・void deleteAllCookies() ◆使用形態 ・driver.manage().deleteAllCookies() ◆備考 ・カレントドメインの全てのクッキーを削除する ◆関連項目 ・ウィンドウの位置を設定する ・ウィンドウを最大化する
サンプル
import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class WebTest{ public static void main(String[] args){ //Chrome制御のためChromeDriverのパスを指定 System.setProperty("webdriver.chrome.driver", "D:\\AutoTest\\chromedriver.exe"); //Chromeを起動する WebDriver driver = new ChromeDriver(); //指定したURLに遷移 driver.get("https://www.yahoo.co.jp"); //現在のセッションでWebページが保持する全てのクッキーを表示 System.out.println("---保持しているクッキ(削除前)ー---"); for(Cookie cookie : driver.manage().getCookies()){ System.out.println(cookie); } //全てのクッキーを削除 driver.manage().deleteAllCookies(); //全てのクッキー削除が反映されているか確認 System.out.println("\n---保持しているクッキ(削除後)ー---"); for(Cookie cookie : driver.manage().getCookies()){ System.out.println(cookie); } } }
※selenium version 4.1.4で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)
実行結果
---保持しているクッキー--- ABC=A12; expires=金, 01 7 2018 01:23:01 JST; path=/;domain=www.yahoo.co.jp DEF=D34; expires=土, 02 7 2018 01:33:12 JST; path=/;domain=www.yahoo.co.jp GHI=G56; expires=日, 03 7 2018 01:43:22 JST; path=/;domain=www.yahoo.co.jp JKL=J78; expires=月, 04 7 2018 01:53:55 JST; path=/;domain=www.yahoo.co.jp ---保持しているクッキー---