🤖

現場改善#25 AutoItのインストール&ChromeDriver対応

2023/01/04に公開

この記事の目的

現場改善#020 キッティングの効率化の中で触れたのですが、キッティングや設定作業で最終的にRPA的な手法で解決したいケースがあります。昔はUWSCという自動操作ツールを利用していましたが、今はAutoItというソフトを利用することで対応しています。

  • Webシステムへの初回ログインと初期設定
  • プリンタドライバの初期値をモノクロに

などを自動で行うための備忘録です。今回は環境構築だけです。

インストール手順

作業の概要としては下記になります。

  1. AutoItのインストール
  2. gsudoのインストール
  3. AutoIt用ChromeWebDriver対応作業

AutoIt用ChromerWebDriver対応作業には、下記の手順が含まれます。

  • WebDriverライブラリ
  • JSON UDF
  • WinHTTP UDF
  • ChromeWebDriver

上記の導入手順が結構手間だったので、PowerShellの勉強がてらスクリプト化してみました。

AutoItのインストール

そもそもキッティングの効率化を目指していますので、wingetでインストールしたいと思います。バージョンアップやアンインストールがコマンドラインから容易に操作できるからです。

winget search  autoit

とすると、下記のような結果が返って来ます。

名前              ID                        バージョン 一致        ソース
-------------------------------------------------------------------------
AutoIt            AutoIt.AutoIt             3.3.16.1               winget
ISN AutoIt Studio isnetwork.ISNAutoItStudio 1.14       Tag: autoit winget

この結果から、IDが確認できましたので、ID指定でインストールを進めます。

winget install  AutoIt.AutoIt

途中で管理者権限の確認が発生しましますが、そこでOKを押すと正常にインストールされます。

見つかりました AutoIt [AutoIt.AutoIt] バージョン 3.3.16.1
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe
  ██████████████████████████████  12.9 MB / 12.9 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

gsudoのインストール

Linuxのsudoコマンドのように一時的に管理者権限を付与するコマンドをインストールしておきます。

winget install gerardog.gsudo

AutoIt用拡張機能のインストール

PoweShellのコンソールか、WindowsTerminalで下記のスクリプトを実行することで、ChromerWebDriverが利用できる環境が設定されます。

なお、設定の手順についてはAutoItでChromeを操作するを参考にさせて頂いています。
判りやすい情報を残していただきありがとうございます。

# ==== 共通 ====
# 解凍用の作業ディレクトリとして、C:\temp を利用しています。
$AutoItPath = 'C:\Program Files (x86)\AutoIt3'
$IncludePath = "$AutoItPath\Include"
# Program Files(x86)以下にアクセスするため管理者権限を付与(要画面操作)
gsudo
# ==== WebDriverライブラリ ====
# githubからrawファイルをIncludeフォルダにコピー
curl.exe -Lo "$IncludePath\wd_capabilities.au3" https://raw.githubusercontent.com/Danp2/au3WebDriver/master/wd_capabilities.au3
curl.exe -Lo "$IncludePath\wd_cdp.au3" https://raw.githubusercontent.com/Danp2/au3WebDriver/master/wd_cdp.au3
curl.exe -Lo "$IncludePath\wd_core.au3" https://raw.githubusercontent.com/Danp2/au3WebDriver/master/wd_core.au3
curl.exe -Lo "$IncludePath\wd_demo.au3" https://raw.githubusercontent.com/Danp2/au3WebDriver/master/wd_demo.au3
curl.exe -Lo "$IncludePath\wd_helper.au3" https://raw.githubusercontent.com/Danp2/au3WebDriver/master/wd_helper.au3
# ==== JSON UDF ====
$strFileName = '_Json(2021.11.20).zip'
$strFilePath =  "C:\temp\$strFileName"
$strDistPath =  "$strFilePath".Replace('.zip','')
curl.exe -Lo "$strFilePath" https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=69571
Expand-Archive -Path "$strFilePath" -DestinationPath ”$strDistPathCopy-Item -Filter *.au3 -Path "$strDistPath\*" -Destination "$IncludePath"
# ==== WinHTTP UDF ====
# 処理対象ファイル名
$strFileName = '1.6.4.1.zip'
$strFilePath =  "C:\temp\$strFileName"
# ディレクトリが二重にで生成されるのを回避するため、ファイル名を除去
$strDistPath =  "$strFilePath".Replace('1.6.4.1.zip','')
# githubからダウンロード
curl.exe -Lo "$strFilePath" https://github.com/dragana-r/autoit-winhttp/releases/download/1.6.4.1/1.6.4.1.zip
# ダウンロードしたファイルを解凍
Expand-Archive -Path "$strFilePath" -DestinationPath ”$strDistPath# 解凍先のディレクトリ名をファイル名から付与
$strFilePath =  "C:\temp\$strFileName"
# ディレクトリ名に不要な".zip"を除去
$strDistPath =  "$strFilePath".Replace('.zip','')
# ファイル(*.au3)をAutoIt3のInculdeディレクトにコピーする
Copy-Item -Filter *.au3 -Path "$strDistPath\*" -Destination "$IncludePath"
# ==== ChromeWebDriver ====
# https://sites.google.com/chromium.org/driver/ より最新版ダウンロードしてください
# 処理対象ファイル名
$strFileName = 'chromedriver_win32.zip'
$strFilePath =  "C:\temp\$strFileName"
curl.exe -Lo "$strFilePath" https://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_win32.zip
# 解凍先のディレクトリ名をAutoItのインストール先に設定
$strFilePath =  "C:\temp\$strFileName"
# 解凍先のディレクトリ名をAutoItのインストール先に設定&ディレクトリ名に不要な".zip"を除去
$strDistPath =   "$AutoItPath\$strFileName".Replace('.zip','')
# ダウンロードしたファイルを解凍
Expand-Archive -Path "$strFilePath" -DestinationPath ”$strDistPath

このスクリプトを実行するとChromeDriver(108.0.5359.71)が、"C:\Program Files (x86)\AutoIt3\chromedriver_win32\chromedriver.exe"にコピーされます。

※AutoItのスクリプトを作成する際に必要になります。

具体的な作成例はまた後日。

Discussion