我的脚本首先访问网址: -
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文档?
答案 0 :(得分:0)
Watir在您与元素交互时为您处理帧切换,而不是在您使用execute_script
时处理帧切换,因此您必须对元素或浏览器执行操作以切换回顶级浏览上下文。在execute_script
来电之间使用此功能。
browser.exists?