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


Tags: Selenium IDE contains


創作者介紹

旅行的記憶

repeat<')">< 發表在 痞客邦 PIXNET 留言(0) 人氣()