Watir - 回到根框架

时间:2016-06-08 12:17:52

标签: html ruby iframe selenium-webdriver watir

我的脚本首先访问网址: -

browser = Watir::Browser.new :firefox
browser.goto('http://anything.com')

然后创建iframe

browser.execute_script("$(#some-div).html('<iframe id="my_iframe" src='http://google.de'></iframe>')")

现在我想得到iframe里面的内容。所以我打电话给:

browser.iframe(id: 'my_iframe').html

接下来我想执行另一个脚本

browser.execute_script("$(#some-div).html('<iframe id="my_iframe" src='http://new_url.de'></iframe>')

但它指向iframe上下文,而不是顶部窗口(但浏览器本身仍然指向anything.com)

我无法获得browser.iframe(id: 'my_iframe')

如何将watir指向顶级html文档?

1 个答案:

答案 0 :(得分:0)

Watir在您与元素交互时为您处理帧切换,而不是在您使用execute_script时处理帧切换,因此您必须对元素或浏览器执行操作以切换回顶级浏览上下文。在execute_script来电之间使用此功能。

browser.exists?