繁体   English   中英

Selenium WebDriver中的driver.switchTo()。parentFrame()和driver.switchTo()。defaultContent()方法有什么区别?

[英]What is the difference between driver.switchTo().parentFrame() and driver.switchTo().defaultContent() method in Selenium WebDriver?

以下两种方法有什么区别:

driver.switchTo().parentFrame();
driver.switchTo().defaultContent();

。driver.switchTo()parentFrame();

根据规范, driver.switchTo().parentFrame(); 调用以下内容:

切换到父框架

其中,在切换到父框架命令设置当前浏览器上下文当前浏览器上下文未来的命令。

根据Java Docs, parentFrame()方法将焦点更改为父上下文。 如果当前上下文是顶级浏览上下文,则上下文保持不变。

。driver.switchTo()defaultContent();

根据Java DocsdefaultContent()方法选择页面上的第一帧,或页面包含iframe时的主文档。

当您在网页中处理多个iframe时, driver.switchTo().parentFrame()通常用于将控件切换回父框架。

当您处理网页中的弹出对话框窗口时,则使用driver.switchTo().defaultContent()将控件切换回窗口中的默认内容。

显然有区别:

场景:当有多个帧时,其中一些是嵌套的。

iframeMain
iframeParent
iframechild

假设你在ifrmaechild

当你做driver.switchTo().parentFrame(); :你会去iframeParent
但是当你做driver.switchTo().defaultContent(); :您将转到页面的主HTML。
请注意,在这种情况下,您不会转到iframeMain

。driver.switchTo()defaultContent();

这会将控件传递给包含iframe的主文档

。driver.switchTo()parentFrame();

这会将控件传递给当前帧的即将到来的父帧

让我们理解它:

main body
{
frame1
{
frame2
frame3 (we are here currently)
}
}

现在使用driver.switchTo()。defaultContent(); 将控制传递给主体

并使用driver.switchTo()。parentFrame(); 将控件传递给frame1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM