之前對 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 變化就可以自己舉一反三了。
留言列表

💻️ 