動作していたアンカーが機能しなくなりました

現在、IEからEdge移行したRPAのアンカーベースでチェックボックスをクリックするアクティビティが正常に動作しない不具合に直面しており、解決方法が分からずにおります。

ブラウザ上の表の、特定の数値がある行のチェックボックスをチェックする動作を行いたいのですが、アンカーに使用している「要素を探す」、また、その隣の「チェックボックスをチェックする」も、単体ではそれぞれ機能しています。(「チェックボックスをチェックする」アクティビティはアンカーアクティビティの中ではセレクター設定が不十分なので、単体で動作させる場合はアンカーアクティビティの外に出してからセレクターを設定し直して動作検証)


(105Aとある行のチェックボックスをクリックしたい)

「要素を探す」アクティビティのセレクター要素としては、以下を指定しています。


(IDは行を指定するため、チェックを外し、チェックしたい行の文字列を含むaanameとcolnameをのチェックを付けています。動作検証済み)

Errorとしてはタイムアウトになっていて、現任が特定出来ずにおります。

使用している環境は以下です。
Studio 2020.4.3 - 7/6/2020
Enterprise License
Windows Installer

Microsoft Windows 10 Enterprise 64-bit
.NET Framework Version 4.8

以上、よろしくお願い致します。

1 Like

「アンカーベース」で特定するのではなく、セレクターにアンカーの情報を含める方法を試してみてください。
(UI Explorer を使います)

ちなみにご記載いただいている環境の 2020.4.3 ですが、すでにサポートが終了しているバージョンですので、バージョンアップをご検討ください。

1 Like

チェックしたいボックスには、アンカーの「要素で探す」情報で取得している"105A”という情報が含まれていませんでした(UI Exploreでチェックしました)ので、アンカーベースで目的行のチェックボックスを指定しようとしました。

「要素を取得」アクティビティを105Aがある列の各行に使用してから、目的行のチェックボックスをクリックする方法も迂回方法としては考えています。

まずは、バージョンアップ、試してみたいと思います。ありがとうございます。

こんにちは

@cheez_RPA さんの言及しているのは、下記のUiExploereで「アンカーを指定」ボタンを使うやり方かと思います、これによりアンカー要素からの相対セレクターを生成できます。

また別アプローチとしては、表をデータスクレイピングで取得して、ターゲットとなる情報が何行目にあるか把握、この情報をもとにセレクターを動的に指定する(TableRow属性等)方法もあるかと思います。

ありがとうございます。

先程、そのやり方でTryしたところ、動作しました。

ただし、セレクターに

という情報が入っているのが、行を指定していないのか懸念しております。 UIExploreではチェックを外すことが出来ませんでした。

全体のセレクター情報は以下です
(ブラウザ・URLのセレクター情報は削除しています。)
webctrl id=‘ptifrmtgtframe’ tag=‘IFRAME’
webctrl tag=‘SPAN’ aaname=‘105A’ colName=‘Bank Account’
nav up=‘3’ />
webctrl tag=‘INPUT’ type=‘checkbox’ colName=‘Select’

こんにちは

ただし、セレクターに

という情報が入っているのが

少し途中の情報が表示されていないようなので、
エディタの</>マークを使って入力するか、前後に改行+行頭に半角スペース4つを入れるとpreformattedになるので、こちらお試しいただけますか?

失礼いたしました。

懸念しているのは
nav up=‘3’ という部分です

<webctrl id='ptifrmtgtframe' tag='IFRAME' />
<webctrl tag='SPAN' aaname='105A' colName='Bank Account' />
<nav up='3' />
<webctrl tag='INPUT' type='checkbox' colName='Select' />

105という行が1行目に来るとは限らないのですが、Systemの制約上、開発者側からでは
105の行が2行目以降に来るように操作できず、この nav upを削除して動作するかが
検証出来ずにおります。

(追記)
nav upの情報を削除すると、Errorとなってしまいました。、
nav upはどのような情報なのでしょうか?
数値が入っていると、行の情報が動的にならないのではないか、懸念しております。

こんにちは

nav要素のup属性ですが、セレクターの相対位置量を指定していると理解しています。
そのため上記ですと、aanameが105Aである要素の、3階層上位のcheckboxのような
イメージかと思いますので、結果的に動的に指定できると思います。

ただし検証できないとなると、少々問題になるかもしれませんので、

その場合はもう少し仕様が明確な、
・データスクレイピング+tableRow属性等
あるいは
・属性取得アクティビティで105AのtableRowの値を取得して、それを用いてチェックボックスを指定する
等の方が良いかもしれません。

1 Like

ありがとうございます。
ロジックとしては、動的に指定出来ているということですね。

検証環境をユーザー様側に用意していただき、検証するか、
ご提示いただいた2方法で取り組んでみるか、
検討したいと思います。

ありがとうございました!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.