【解決策】[DS][Chromium]Chromiumで操作したい要素をレコーダービューに表示させる方法

フォローする

概要

ChromiumでWebページを読み込むと、ツリービューにはすべての要素が表示されますが、レコーダービューには一部の要素しか表示されません。
レコーダービューに表示されていない要素に対してクリックや文字入力を実行すると、正しく実行されずにステップを通過してしまいます。
そのため、上記のような場合には、スクロールを用いて操作したい要素をレコーダービューに表示させる必要があります。

レコーダービューに操作したい要素が表示されていない場合、der_isOffScreenの属性が表示されます。
これを利用し、操作したい要素内にder_isOffScreen属性があるか判断させ、スクロールさせるか、操作を行うかを分岐させる実装をすることで操作したい要素をレコーダービューに表示させることができます。

使用例

<Googleで"RPA"と検索し、2ページ目へ移動したいため"次へ"をクリックするロボットの例>
この状態だとレコーダービュー内に要素が見つからないため、クリックは空振りします。


Left Clickステップの前に、der_isOffScreenの要素を抽出するExtract Valueステップと、Scroll Downステップを設定し、ループの設定をします。
エラーが起こった(要素が見つからない)場合に、ループから抜けたいため、 Try-Catchステップで囲み"ExtractIssue "エラーをキャッチさせます。
こうすることで、対象の要素がレコーダービューに表示されるまでスクロールさせることが可能となります。

※概要に記載の通り、der_isOffScreenは、レコーダービューに要素が存在していない場合に持つ属性ですので、「der_isOffScreenの要素を抽出できない(要素が見つからない)=レコーダービューに要素が表示されている」ということになります。

参考

ループ/Loop Step
値を抽出/Extract Value Step
Try-Catch/Try-Catch Step

区分 確認Ver
逆引き 10.7.0.4