以下两种方法有什么区别:
driver.switchTo().parentFrame();
driver.switchTo().defaultContent();
答案 0 :(得分:1)
根据规范, driver.switchTo().parentFrame();
调用以下内容:
在Switch to Parent Frame命令中,将用于将来命令的current browsing context设置为当前浏览上下文的父级。
根据 Java文档 parentFrame()
方法,将焦点更改为父上下文。如果当前上下文是顶级浏览上下文,则上下文保持不变。
根据 Java文档,defaultContent()
方法选择页面的第一帧,或者当页面包含iframe时选择主文档。
答案 1 :(得分:1)
当您在网页中处理多个iframe时,通常使用driver.switchTo().parentFrame()
将控件切换回父框架。
在处理网页中的弹出对话框窗口时,driver.switchTo().defaultContent()
用于将控件切换回窗口中的默认内容。
答案 2 :(得分:0)
有明显的区别:
方案::当有多个框架并且其中一些框架嵌套时。
iframeMain
iframeParent
iframechild
假设您位于 ifrmaechild 中:
执行driver.switchTo().parentFrame();
时:您将转到 iframeParent 。
但是,当您执行driver.switchTo().defaultContent();
时:您将转到页面的主要HTML。
请注意,在这种情况下,您将不会转到 iframeMain 。
答案 3 :(得分:0)
driver.switchTo()。defaultContent();
这会将控件传递给包含iframe的主文档
driver.switchTo()。parentFrame();
这会将控件传递给当前帧即将到来的父帧
让我们理解它:
main body
{
frame1
{
frame2
frame3 (we are here currently)
}
}
现在使用driver.switchTo()。defaultContent();会将控件传递给主体
并使用driver.switchTo()。parentFrame();会将控件传递给frame1。