(Edge)WebDriverダウンロードバッチ(VBScript未使用版)2024/5/31Update
以前、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"
をセットします。