我使用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