iframeの要素選択について

iframeの要素に対してクリックしたいのですがページ全体、あるいは複数要素が選択され一意の要素を選択できません。この症状はchromeおよびfirefoxのみ発生し、IEでは正常動作します。
Attach to Live ElementおよびUiExplorerでも試しましたが駄目でした。
また、SetUpExtensions にてchromeとfirefoxのアドオンを追加する前は両ブラウザとも一意の要素を選択できているように見えました。IEのみでしか対応できないでしょうか?

結論から書くと、IFrameを使う処理はIEで対応するのが精度が高いと思います。

少しシステマチックというか、プログラミング的な話題になりますが。
IEの場合、COMというインターフェースを介しているのに対し、ChromeやFirefoxはExtensionからのJavaScriptを介してUiPathと連携しています。
元々、IFrameは使い方によってはセキュリティ上の問題を発生させやすいため、ブラウザ側で色々と制限をかけているのですが、上記のようにChromeやFirefoxの場合、間にJavaScriptによる操作を挟むため、IFrameの中身を操作できない、ということが発生し得ます。

Extensionを導入する前にChromeやFirefoxで要素を選択できているように見えたのは、上記のJavaScriptを介したアクセスではなく、画面上の文字認識(アクセシビリティ用のインターフェース)を使用していたからだと思います。
その状態だと、確かに個々の要素の存在は拾えることはありますが、Webページの構造(いわゆるHTMLタグや要素の関係)を取得できないため、信頼性の高いセレクタを作るのが難しくなるため、デメリットのほうが大きいと思います。

3 Likes

ありがとうございます。IFrameがある場合はIEで対応するようにします。
原因まで教えていただき大変勉強になりました。

1 Like