WinActorでChromeシナリオ開発しようとすると必ずぶつかる壁、「ライブラリ実行(spv_Web)に失敗しました」エラー。
ここではその原因とXpathの動きを徹底解説します。
▼前回の記事
「SPVエラー情報収集」ノードでエラー原因確認
単純にSPVエラーとは言っても原因は様々です。デバックして原因確認をしてみましょう。(↓このエラーですね)
ではデバックしてみます。必要なノードは以下図の通り配置してください。
・例外処理
・SPVエラー情報収集
・クリップボード
・待機ボックス
➁デバック情報収集
③収集した情報をクリップボードから変数へ
④変数からPOPメッセージへ表示させる
ここで収集したエラー情報をもとに、対策を立てなければ根本的解決に至りません。ただし、あくまでシナリオ作成中の手段と捉えてください。
シナリオが完成したら、この仕掛け部分は解体して元に戻してくださいね!
👇動画で設定内容も確認してみて下さい!
🌟エラー種類 (確認出来るものだけ抜粋)
・element not visible~:
HTML上、住所不定の状態。Xpathなどの見直しが必要
・Chrome not reachable:
Chromeが認識できませんの様な意。所定のブラウザがあるか要確認
・「unknown error~」:
WebDriverのインストールなどが必要
WebDriverインストール
<Chromeの場合>
今のブラウザのバージョンを確認して、driverをインストールします。
WinActor.exeの並列にあるWebDriverフォルダ内のdriverを差し替えして下さい。
👇動画で一緒に設定内容も確認しましょう!
<Edgeの場合>
※管理者権限でのコマンドプロンプト起動し、以下ソースコードをコマンドライン投入下さい
※社内でPC端末の権限管理をしていらっしゃる場合は、システム担当者様へお問い合わせください
DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0
完了すると、以下へWebDriverがダウンロード取得されます。
C:\Windows\System32\MicrosoftWebDriver.exe
これをWinActor.exeの並列にあるWebDriverフォルダ内へ連れてってあげてください!
Xpathエラーとなるケースが多いHTML構造
Webブラウザのデベロッパーツール(「F12」キー)で要素の選択時に確認できますが、HTML構造が以下の様に複雑になっていることが要因です。
第一位・動的スクリプトが使用されている箇所
<script>○○○</script>
※○○○のように対象の要素が<script>タグに挟まれていれば、
JavascriptやPHPなどの動的スクリプトが埋め込まれており、
HTML文章には対象の要素が書かれていない可能性があり、
取得不可となる。
第二位・テーブル構造が使用されている箇所
例えば:<td>○○○</td>
※HTML構文内にあるので全く取得できないわけではないのですが、
テーブルの中の構造が複雑化すると取得できないこともあります。
この辺はサイトの作り方に起因しますので、一筋縄に説明できない部分
があります。
解決策として
こういった事例は、Xpath指定は難しい場合が多いため、「画像マッチング」や「輪郭マッチング」「エミュレーション」操作で回避する、
もしくはブラウザをIE(InternetExplorer)に変更すると別のノードが使えるので道が開ける可能性があります。
最後まで、ご覧頂きありがとうございました!