Java を使用した Selenium WebDriver でのネストされた iframe の処理
この質問は、Java で Selenium WebDriver を使用したネストされた iframe の処理を中心に展開します。提供された HTML 構造には 2 つのネストされた iframe が含まれています。タスクは、外側の iframe を選択して内側の iframe にアクセスし、その本文にテキストを入力することです。その後、内側の iframe を終了し、外側の iframe に再度入り、外側の iframe 内にある [OK] ボタンをクリックすることが目標です。
最初に、指定されたコードは外側の iframe (" cq-cf-frame") を作成し、ネストされた iframe ("cq-gen379") の本体にテキストを書き込みます。ただし、内側の iframe を終了して外側の iframe で [OK] ボタンを見つけようとすると、要素が見つかりません。
問題の解決
解決するにはこの問題では、外側のフレームに再び入る前に、すべてのネストされたフレーム (この場合は内側の iframe) を明示的に切り替える必要があります。これは、 driver.switchTo().defaultContent() メソッドを使用して実現されます。このメソッドを使用すると、現在のフレームを終了してメイン ドキュメントに戻ることができます。
修正されたコードは次のとおりです:
<code class="java">// Between step 4 and step 5 // Remove selenium.selectFrame("relative=up"); // Exit the nested iframe driver.switchTo().defaultContent(); // Re-enter the outer iframe driver.switchTo().frame("cq-cf-frame"); // Continue step 6 driver.findElement(By.xpath("//button[text()='OK']")).click();</code>
この変更により、コードは前に内部 iframe を終了するようになります。外側の iframe 内の要素と対話しようとしています。 「OK」ボタンが正常に見つけられ、クリックされます。
以上がJava を使用して Selenium WebDriver でネストされた iframe を処理する方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。