我正在使用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')
这种行为背后的原因是什么?
答案 0 :(得分:1)
#iframe只会将html元素与iframe标记匹配,而#frame只会匹配带有frame标记的html元素。所以,可能还有其他事情发生。
您也可以尝试这样做,这会强制它发现它:
driver.element(id: 'settings_dlg').to_subtype
(我假设驱动程序是Watir :: Browser的一个实例)