【PowerShell】Selenium-Module Stop-SeDriver ブラウザを閉じる

目次

概要

 ブラウザを閉じるコマンドになります。現在稼働中のdriverオブジェクトを引数で指定します。PowerShell Seleniumでブラウザを起動した場合、自動的にブラウザが閉じられることがありません。コマンドでブラウザを閉じる動作を明示する必要があります。その点は、マクロ実行が終了すると自動的にブラウザが閉じられるSeleniumBasicと動作が異なります。

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

コマンド(Commond)

Stop-SeDriver

代替コマンド(Alias)

SeClose

構文(Syntax)

Stop-SeDriver [[-Target] <IWebDriver>] [<CommonParameters>]

オプション

Name引数型解説Short Example
Target ObjectDriverオブジェクトを指定Stop-SeDriver -Target $Driver
CommonParameters共通パラメータ

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

Example

$Driver =  Start-SeChrome -StartURL https://programan.org/
Start-Sleep -Seconds 2
Stop-SeDriver -Target $Driver

Module

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

function Stop-SeDriver { 
    [alias('SeClose')]
    param(
        [Parameter(Mandatory = $false, ValueFromPipeline = $true)]
        [Alias('Driver')]
        [ValidateNotNullOrEmpty()]
        [OpenQA.Selenium.IWebDriver]
        $Target = $Global:SeDriver
    )

    if (($null -ne $Target) -and ($Target -is [OpenQA.Selenium.IWebDriver])) {
        Write-Verbose -Message "Closing $($Target.Capabilities.browsername)..."
        $Target.Close()
        $Target.Dispose()
        if ($Target -eq $Global:SeDriver) { Remove-Variable -Name SeDriver -Scope global }
    }
    else { throw "A valid <IWebDriver> Target must be provided." }
}
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

目次