Microsoft Edge (Chromium)のWebDriver自動ダウンロードのバッチファイル紹介(2021/11/24 15:10更新)
EdgeのWebDriverをダウンロードするバッチファイルです。
メモ帳を開き、下記のバッチファイルの内容をコピペします。
保存時は、文字コードをANSI にし、ファイル種類は全て(*.*)、ファイル名はGetEdgeDriver.bat とし、
自ログインIDだけなら、C:\Users\ログインID\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
どのユーザでも実行する場合は、C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp (管理者権限が必要)
に保存します。
これで、ログイン時に、Edgeと、WebDriverのバージョンを比較し、相違があれば、WebDriverをダウンロードし、解凍、差し替えを行います。
========バッチファイル========
@echo off
SET ZUMIDRV=%USERPROFILE%\Documents\WinActor\webdriver\msedgedriver.exe
SET WORK=%TEMP%\WAGETWD
SET VBS=%WORK%\Getdrv.vbs
SET ZIP=%WORK%\DRV.ZIP
SET DRV=%WORK%\DRV
IF NOT Exist "%USERPROFILE%\Documents\WinActor\webdriver" MD "%USERPROFILE%\Documents\WinActor\webdriver"
rem 取得済みWebDriverバージョンを取得
IF NOT Exist "%ZUMIDRV%" GOTO GETEDGE
for /f "usebackq" %%A in (`powershell -command ^(get-item "%ZUMIDRV%"^).Versioninfo.FileVersion`) do set ZUMIVer=%%A
:GETEDGE
rem Edgeバージョンを取得
SET EDGE=C:\progra~1\microsoft\edge\application\msedge.exe
IF Exist "C:\progra~2\microsoft\edge\application\msedge.exe" SET EDGE=C:\progra~2\microsoft\edge\application\msedge.exe
for /f "usebackq" %%A in (`powershell -command ^(get-item "%EDGE%"^).Versioninfo.FileVersion`) do set EDGEVer=%%A
echo 取得済み[%ZUMIVer%] Edge Version[%EDGEVer%]
IF "%ZUMIVer%"=="%EDGEVer%" GOTO ENDBAT
IF Exist "%WORK%" RD /S /Q "%WORK%"
md "%WORK%"
rem ダウンロード
echo Set objXmlHttp = WScript.CreateObject("MSXML2.XmlHttp")>%VBS%
echo objXmlHttp.Open "GET", "https://msedgedriver.azureedge.net/%EDGEVer%/edgedriver_win64.zip", False>>%VBS%
echo objXmlHttp.Send>>%VBS%
echo Set objStream = WScript.CreateObject("ADODB.Stream")>>%VBS%
echo objStream.Open>>%VBS%
echo objStream.Type = 1 >>%VBS%
echo objStream.Write objXmlHttp.responseBody>>%VBS%
echo objStream.SaveToFile "%ZIP%", 2 >>%VBS%
echo objStream.Close>>%VBS%
echo Set objStream = Nothing>>%VBS%
echo Set objXmlHttp = Nothing>>%VBS%
CSCRIPT "%VBS%"
:WAIT1
IF NOT Exist "%ZIP%" GOTO WAIT1
rem 解凍
powershell -command Expand-Archive -Path "%ZIP%" -DestinationPath "%DRV%"
:WAIT2
IF NOT Exist "%DRV%\msedgedriver.exe" GOTO WAIT2
rem WebDriverコピー
copy "%DRV%\msedgedriver.exe" "%ZUMIDRV%"
echo %EDGEVer%のEdge用WebDriverをセットしました
:ENDBAT
SET WATMP=C:\ProgramData\WinActor\%USERNAME%
IF EXIST "%WATMP%" RD /S /Q %WATMP%
GoogleCrome版は、スクリプト探究者様が投稿された内容をご利用ください。
2022/2/24 最後の2行に時々問題になるWinActorの作業フォルダの削除を追加しました。