iframeの要素選択について

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

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

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

3 Likes