【PowerShell】Selenium-Module Remove-SeCookie クッキー情報の削除

目次

概要

 起動しているブラウザのクッキー情報を削除するメソッドになります。Name指定して削除する方法と全削除する方法があります。

 PowerShellでSeleniumを利用するに当たって、ある程度簡易的にSeleniumを利用できる様に専用のモジュールがGitHubに用意されています。いきなりPowerShellでSeleniumを扱うより、Seleniumを-Moduleを利用した方が簡単にPowerShellでSleniumを利用することができます。環境構築するには、以下ページを参照してみてください。

コマンド(Commond)

Remove-SeCookie

代替コマンド(Alias)

無し

構文(Syntax)

Remove-SeCookie -Name <string> [-Target <IWebDriver>] [<CommonParameters>]
Remove-SeCookie -DeleteAllCookies [-Target <IWebDriver>] [<CommonParameters>]

オプション

Name引数型解説Short Example
TargetIWebDriver対象ドライバーの指定Remove-SeCookie -Target $Driver -Name $cookies[0].Name
Namestringクッキー名を指定して削除Remove-SeCookie -Target $Driver -Name $cookies[0].Name
DeleteAllCookiesクッキー情報を全て削除Remove-SeCookie -Target $Driver -DeleteAllCookies
CommonParameters共通パラメータ

※ShortExampleは、動作確認ができたコードを記載しています。

Example

$Driver = Start-SeChrome -Quiet
Open-SeUrl https://programan.org/ -Target $Driver

$cookies = Get-SeCookie -Target $Driver
$cookies_Count = $cookies.Count
Write-Host "クッキー情報情報数(削除前):$cookies_Count"

Remove-SeCookie -Target $Driver -Name $cookies[0].Name
$cookies = Get-SeCookie -Target $Driver
$cookies_Count = $cookies.Count
Write-Host "クッキー情報情報数(1個削除):$cookies_Count"

Remove-SeCookie -Target $Driver -DeleteAllCookies
$cookies = Get-SeCookie -Target $Driver
$cookies_Count = $cookies.Count
Write-Host "クッキー情報情報数(全削除):$cookies_Count"

Start-Sleep -Seconds 2
Stop-SeDriver $Driver

Module

 Remove-SeCookieのSelenium-Module構文を以下に掲載します。

function Remove-SeCookie {
    param(
        [Parameter(Mandatory = $false, ValueFromPipeline = $true)]
        [Alias('Driver')]
        [OpenQA.Selenium.IWebDriver]
        $Target = $Global:SeDriver,
 
        [Parameter(Mandatory = $true, ParameterSetName = 'DeleteAllCookies')]
        [Alias('Purge')]
        [switch]$DeleteAllCookies,

        [Parameter(Mandatory = $true, ParameterSetName = 'NamedCookie')] 
        [string]$Name
    )

    if ($DeleteAllCookies) {
        $Target.Manage().Cookies.DeleteAllCookies()
    }
    else {
        $Target.Manage().Cookies.DeleteCookieNamed($Name)
    }
}
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。

目次