如何在 Selenium Webdriver 中從框架切換回預設狀態?
我們可以使用 switchTo().defaultContent() 方法從框架切換回 Selenium Webdriver 中的預設狀態。最初,webdriver 控制仍保留在主頁上。
為了訪問框架中的元素,我們必須使用 switchTo().frame 的幫助將控制從主頁切換到框架,並將框架的框架名稱/ID 或框架的 Web 元素作為引數傳遞給該方法。
最後,我們再次可以使用 switchTo().defaultContent() 方法將控制切換到主頁。框架在 html 程式碼中由標籤名(frame、iframe 或 frameset)標識。
讓我們識別位於框架中的文字 Iframe,以及文字單擊下面的連結,而文字位於框架外。

示例
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public class FrameDefaultSwitch{
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver",
"C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//implicit wait
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL launch
driver.get("http://www.uitestpractice.com/Students/Switchto");
// switch to frame
driver.switchTo().frame("iframe_a");
//identify element inside frame
WebElement d = driver.findElement(By.tagName("h1"));
System.out.println("Text inside frame: " + d.getText());
//switch to default
driver.switchTo().defaultContent();
//identify element outside frame
WebElement e = driver.findElement(By.tagName("h3"));
System.out.println("Text outside frame: " + e.getText());
driver.quit();}
}輸出

廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP