2011-07-20 46 views
0

Hy。我有一個硒IDE的問題。我在桌上有一個按鈕,我必須點擊。硒查找按鈕

 
Command: click 
Target: xpath=//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]/div/table/tbody/tr/td[contains(., 'Edit')]/a 

當我點擊按鈕「查找」硒的顯示它是我在我的表中的人「test1的」按鈕「編輯」。所以硒找到按鈕,這意味着我在目標中寫入的內容必須正確。

的問題是,如果我想運行測試,硒說:

 
[error] Element //table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]/div/table/tbody/tr/td[contains(., 'Löschen')]/a not found 

和我不#知道爲什麼。

請幫我解決這個問題:)

+0

你知道兩個XPath是不同的嗎? – Tomalak

回答

0

也許排這段文本中必須存在是另一個比9?如果你在頁面上沒有其他的td,可以試試/td[contains(., 'Löschen')]/a。好的做法是以某種方式在服務器腳本中標記該元素(例如,添加rel =或title =或僅指定id =),然後通過此參數找到該元素。

嘗試運行測試從零增長這個XPath,泰德你應該抓住哪兒請求的元素不存在,就像一個情況:

//table 
//table[@id='mainForm:dataTable'] 
//table[@id='mainForm:dataTable']//tr 
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')] 
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td 
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9] 

依此類推,直到錯誤會出現

也許你在頁面上有一些JavaScript的DOM樹修改

+0

thx快速回答。我會試試看。問題是按鈕具有相同的id =)。所以我必須以其他方式找到它。 Selenium使用xpath = // table [@ id ='mainForm:dataTable'] // tr [contains(。,'test1')]/td [9]/div/table/tbody/tr/td [包含(。,'編輯')]/a,但不想點擊它。 – user846290