使用 Java 處理 Selenium WebDriver 中的巢狀 iframe
這個問題圍繞在 Java 中使用 Selenium WebDriver 巢狀處理 iframDrivee 巢狀處理。提供的 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中文網其他相關文章!