我使用watir来控制一个IE页面。在ruby/watir中使用通配符
我有这样的命令: -
browser.frame(:id,"ultraposuidialoghtm0").div(:class," content").button(:id,"ok").click
然而ultraposuidialoghtm0
部分的增量,所以我得到ultraposuidialoghtm1
等
如何标记我的id作为ultraposuidialoghtm*
?
我使用watir来控制一个IE页面。在ruby/watir中使用通配符
我有这样的命令: -
browser.frame(:id,"ultraposuidialoghtm0").div(:class," content").button(:id,"ok").click
然而ultraposuidialoghtm0
部分的增量,所以我得到ultraposuidialoghtm1
等
如何标记我的id作为ultraposuidialoghtm*
?
看起来它支持method calls中的正则表达式。也许这是值得尝试的东西,如:
browser
.frame(:id, /ultraposuidialoghtm[0-9]*/)
.div(:class," content")
.button(:id, "ok")
.click
我不能真正测试它,但它可能是麦芽汁检查!
祝你好运!
如果id值正在按照html规范使用,那么它们在页面或框架内是唯一的。在这种情况下,你可以使用
browser
.frame(:id, /ultraposuidialoghtm[0-9]*/)
.button(:id, "ok").click
使用正则表达式可能会很慢但是,如果框架的页面的数量和顺序是已知的,或者如果框架是由其他一些简单的包含找到容器元素,那么你可能想要通过索引来定位,或者只是容器中的第一帧。
browser.div(:class => 'frame holder').frame.button(:id => 'ok').click
/something * /,多数民众赞成在所有我需要感谢。 – 2015-03-03 13:35:11