サイトアイコン わんすけに聞いてみる

Chrome操作-クリック『ライブラリ実行(spv_Web)に失敗しました。』

実は、以前にもspv_Web関連のエラー記事書いたことあったんだけども、そん時はEdgeでそもそも何にも操作ができないってシーンでした。

Edge自動操作で『ライブラリ実行(spv_Web)に失敗しました。』

 

今回は、Chromeのブラウザ操作でクリックの操作で限定的なシーンで出るエラーがあったので紹介します。

 

1.Chrome クリックでエラーになるケース

ざっくり言うと、こんなレイアウトで発生しやすいみたいだ。

ページ自体にもスクロールバーがでるくらいの長さのページで、コンテンツの中にもスクロールするコンテンツがある。

ほんで、スクロールする内部スクロールの中にボタンとかがあって、操作後にフォーカスがそこに残るケース。

で、内部スクロールの部分にある要素にフォーカスが残った状態で、ページ自体のスクロールでページ表示外にある要素をクリックしようとした際にエラーが発生しました。
 

 

2.調査のやり方

困ったことに、ブラウザ操作でエラーが発生すると

『ライブラリ実行(spv_Web)に失敗しました。』

しか出ないんですねぇ。。。

原因がわかんないんですよ。なので、このエラーが発生する箇所に例外処理を仕込んで、異常系の方で[01 WinActor制御] - [07 デバッグ] - [SPVエラー情報収集]を使います。

すると、クリップボードの中にWebDriverが出力してるエラーの生ログが取得できます。

WebDriver????もし、もっと詳しく知りたいって方はこちらの記事もどぞー。

(エラー内容の本筋からズレるので興味なければスルーでOK。)

WebDriverをプロンプトで検証する。

PowerShellでSelenium使わずWebDriver操作

 

要するに、ブラウザ操作まわりの機能はブラウザベンダーが提供してるWebDriverを噛ませて実装してるのでWinActorの制御外なんですねー。

ほんで、先ほどの「SPVエラー情報収集」を使ってエラーログを取得する訳ですが、いきなりエラーの内容に「unknown error・・・」とかって出ちゃってる場合はWebDriverの差替えを行ってください。

Chromeなんかは、結構知らない間にブラウザのバージョン上がってたりして、WinActor内部に保管されてるWebDriverは勝手にアップデートされる訳ではないので、ほっとくとブラウザとWebDriverの適用バージョンが合わなくなってしまっていたりします。

で、今回のケースではWebDriverを最新化してみたら「element not interactable ・・・」っていうエラーが出てましたってお話な訳です。

 

3.element not interactable????

こっからは、WebDriverで出力してるエラーなんだから他のツールであろうが理由と対処は一緒でしょー?って話で、そのままググるとSeleniumで同様の事象がでて別アプローチで対処したって話がでてくる訳なのね。

seleniumにてButtonがクリックできない時の対処法 - Qiita

ちなみに、WebDriverの歴史的にはSeleniumの方が元祖なのね。

ブラウザ操作系は検索するとSeleniumの情報ばっかでてくるけど、他のRPAツールでも流用できる情報はとても多いです。


 

今回のケースで言うと、本来はWebDriver経由でクリックの命令を出すとそのポイントまで画面をスクロールして、表示状態になってからクリックする。という処理を行っている訳だけど、内部のスクロール範囲にフォーカスが残ってるケースで稀に親のスクロールを動かせずにクリック対象のボタンを表示状態にできず、エラーになったって感じなんじゃないかと思う訳です。

 

そんな仮説の元、とりあえずクリックの前にエミュレーションで画面の任意の位置をクリック後、キーボードのHomeキーを押すっていうノードを置いたところ、エラーの再発は無くなりましたとさ。。。

 

んー、だめだ。
このページの上の方にボタン作って、下にスクロールするテーブル作ってみたけどエラー出ないや?
状況を再現できないなぁ?

 

タイトル タイトル タイトル タイトル タイトル

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

データ

わんすけへ寄付金を送る

このサイトの情報が役に立ったなーって思う方がいらっしゃれば、

是非「わんすけに缶コーヒー1本でもご馳走する」気持ちでポチってあげて下さい?

¥120
Processing ...
Stripe Payments は、ブラウザの Javascript の実行が許可されている必要があります
モバイルバージョンを終了