使用 Java 处理 Selenium WebDriver 中的嵌套 iframe
这个问题围绕在 Java 中使用 Selenium WebDriver 处理嵌套 iframe 展开。提供的 HTML 结构涉及两个嵌套的 iframe。任务是选择外部 iframe 以访问内部 iframe 并将文本输入到其正文中。随后,目标是退出内部 iframe,重新进入外部 iframe,然后单击外部 iframe 内的“确定”按钮。
最初,给定的代码成功切换到外部 iframe (" cq-cf-frame") 并将文本写入嵌套 iframe ("cq-gen379") 的正文中。但是,在尝试退出内部 iframe 并在外部 iframe 中找到“确定”按钮时,找不到该元素。
解决问题
要解决对于这个问题,有必要在重新进入外部框架之前显式地切换出所有嵌套框架(在本例中为内部 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 内的元素进行交互。它将成功找到“确定”按钮并单击它。
以上是如何使用 Java 处理 Selenium WebDriver 中的嵌套 Iframe:分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!