14

以前、EdgeのWebDriverダウンロードのバッチを投稿しましたが

中でVBScriptを使用しています。VBScriptが動作しなくなっても大丈夫なように、AIに教えてもらいながらPowerShellに置き換えました。

まず、下記ファイルを「GetEdgeDriver.ps1」に保存します(文字コード:Shift-JIS ANSI)

$UPRO = $Env:USERPROFILE
$FOL = $UPRO + "\Documents\WinActor\webdriver"
$ZUMIDRV = $FOL + "\msedgedriver.exe"
$WORK = $Env:TEMP + "\WAGETWD"
$ZIP = $WORK + "\DRV.ZIP"
$DRV = $WORK + "\DRV"
$DLDRVER = $DRV + "\msedgedriver.exe"

#ドキュメント\WinActor\webdriverがなければ作成する
if (-not (Test-Path -PathType Container $FOL)) {
    New-Item -ItemType Directory -Path $FOL
}

#取得済みWebDriverのバージョンを取得
try {
    Get-Item -Path $ZUMIDRV -ErrorAction Stop
    $ZUMIVer = (get-item $ZUMIDRV).Versioninfo.FileVersion
} catch {
    $ZUMIVer = "Nothing"
}

#EDGEのバージョンを取得
$EDGEVer = (Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}").pv

Write-Host "`r`n`r`n取得済み[$ZUMIVer] Edge Version[$EDGEVer]"

#===ダウンロード処理===
if ($ZUMIVer -ne $EDGEVer) {
    #WORKディレクトリがあれば一旦削除
    if (Test-Path -PathType Container $WORK) {
        Remove-Item -Path $WORK -Recurse
    }

    #WORKディレクトリ作成
    New-Item -ItemType Directory -Path $WORK

    #ダウンロード
    $url = "https://msedgedriver.azureedge.net/" + $EDGEVer + "/edgedriver_win32.zip"
    Invoke-RestMethod -Uri $url -OutFile $ZIP

    #解凍
    Expand-Archive -Path $ZIP -DestinationPath $DRV

    while (-not (Test-Path -Path $DLDRVER)) {
        Write-Host "解凍 待機中..."
        Start-Sleep -Seconds 1
    }

    #WebDriverコピー
    Copy-Item -Path $DLDRVER -Destination $ZUMIDRV
    Write-Host "`r`n`r`n★★★ $EDGEVer のEdge用WebDriverをセットしました ★★★"
    Start-Sleep -Seconds 6
}
else
{
    Write-Host "`r`n★★★ バージョン一致 ★★★"
}

これを起動するためのバッチか、ショートカットには
powershell.exe -File "保存フォルダパス\GetEdgeDriver.ps1"
をセットします。

シナリオから実行するなら

Kouichi 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。