11

以前、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 {
    
}

#EDGEパスを取得
$EDGE = "C:\progra~1\microsoft\edge\application\msedge.exe"
if (-not (Test-Path -Path $EDGE)) {
    $EDGE = "C:\progra~2\microsoft\edge\application\msedge.exe"
}

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

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_win64.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をセットしました ★★★"
}
else
{
Write-Host "`r`n★★★ バージョン一致 ★★★"
}
Start-Sleep -Seconds 3

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_win64.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をセットしました ★★★"
}
else
{
  Write-Host "`r`n★★★ バージョン一致 ★★★"
}
Start-Sleep -Seconds 3

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

Kouichi 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。