为什么IFrame或Frame元素在不同平台中的表现不同?

时间:2015-01-07 17:11:49

标签: iframe webdriver frame watir

我正在使用Ruby和Watir - Webdriver自动化我的Web应用程序。在框架内设计对话框。因此,当我试图获得IFrame的引用时,我使用了下面的ruby,watir - webdriver代码。

ref = driver.iframe(:id => 'settings_dlg')

上面一行在笔记本电脑上运行我的脚本(Windows 7 + Chrome)时返回参考,但未在虚拟机(Windows 7 + Chrome)中返回。

当我更换" iframe"与"框架"在上面的行中,它可以在虚拟机中返回引用,但不能在我的笔记本电脑中返回 即,

ref = driver.frame(:id => 'settings_dlg')

这种行为背后的原因是什么?

1 个答案:

答案 0 :(得分:1)

#iframe只会将html元素与iframe标记匹配,而#frame只会匹配带有frame标记的html元素。所以,可能还有其他事情发生。

您也可以尝试这样做,这会强制它发现它:

driver.element(id: 'settings_dlg').to_subtype

(我假设驱动程序是Watir :: Browser的一个实例)