如何在 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