Java を使用して Selenium WebDriver でネストされた iFrame を効果的に処理する方法

Susan Sarandon
リリース: 2024-10-31 18:17:30
オリジナル
296 人が閲覧しました

How to Effectively Handle Nested iFrames in Selenium WebDriver with Java?

Java で Selenium WebDriver を使用したネストされた iFrame の管理

問題:

のシナリオ内ネストされた iFrame の場合、内側の iFrame に移動してその要素を操作し、外側の iFrame に戻ってそのコンテンツを操作する必要があります。ただし、外側の iFrame に戻ると、その中の要素が見つからないという問題が発生します。

解決策:

ネストされた iFrame を効果的に処理するには、次の手順に従います。

  1. 外側の iFrame に切り替える:

    <code class="java">driver.switchTo().frame("cq-cf-frame");</code>
    ログイン後にコピー
    ログイン後にコピー
  2. 内側の iFrame に切り替える:

    <code class="java">driver.switchTo().Frame("cq-gen379");</code>
    ログイン後にコピー
  3. 内部 iFrame 要素と対話する:

    <code class="java">driver.findElement(By.id("CQrte").sendKeys("Tnx");</code>
    ログイン後にコピー
  4. 内部 iFrame から切り替える:
    「相対」または「親」 は使用しないでください。代わりに、次を使用してデフォルトのコンテンツ (すべてのフレームの外側) に切り替えます:

    <code class="java">driver.switchTo().defaultContent();</code>
    ログイン後にコピー
  5. 外側の iFrame に戻ります:

    <code class="java">driver.switchTo().frame("cq-cf-frame");</code>
    ログイン後にコピー
    ログイン後にコピー
  6. 外部 iFrame 要素との対話:

    <code class="java">driver.findElement(By.xpath("//button[text()='OK']")).click();</code>
    ログイン後にコピー

追加メモ:

  • 要素の位置の問題を回避するには、外側の iFrame に戻る前に内側の iFrame から切り替えることが重要です。
  • 内側の iFrame (cq-gen379) に切り替えない場合は、直接クリックできます。外側の iFrame の [OK] ボタン。

以上がJava を使用して Selenium WebDriver でネストされた iFrame を効果的に処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート