之前對 Selenium IDE 很陌生的時候遇到一個找特定元素的問題。
遇到的狀況類似這樣:需要找一個特定的 tr
。可以事先知道 tr
的內容,但無法事先知道 tr
在第幾個,因此不能用 //table[@id='mytable']/tr[N]
這樣的 Xpath 來寫。
因為一開始不知道解法,所以先當成無解。但其實是有解的,而解法就是用 contains()
。
寫法大概是這樣:
verifyElement | //table[@id='mytable']/tr[contains(.,'mystring')] |
如果要指定特定 attribute 的話,則把 contains()
前面的參數指定為 attribute :
verifyElement | //table[@id='mytable']/tr[contains(@class,'myclass')] |
前面的前提是不知道位置。如果知道位置,且要找特定 attribute 的話,用 Attribute
系列感覺會比較簡單:
verifyAttribute | //table[@id='mytable']/tr[1]@class | myclass |
知道寫法以後,前面的指令和後面的 Xpath 變化就可以自己舉一反三了。
全站熱搜
留言列表