ホームページ >Java >&#&チュートリアル >Java を使用して Selenium WebDriver でネストされた iFrame を効果的に処理する方法

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

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 18:17:30341ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。