2011-05-16 69 views
5

假設我有一個包含未知行數的表格。 EXP 列1列2欄3 XXX YYY「搜索個人資料」Selenium RC:如何點擊表格中列出的項目

欄3的每一行包含一個指向「搜索個人資料」現在很明顯這裏這個環節了XPath將改變根據行。現在我想搜索第2列中的字符串,如果存在,則需要點擊它的第3列鏈接。 任何人都可以讓我知道如何搜索並點擊它嗎?

回答

0

我建議使用selenium.click併爲它提供你正在尋找的目標。如果你知道你在第2欄搜索的內容文字,你可以把XPath表達式和列點擊他的朋友3.

東西線沿線的:

selenium.click("//table[@id='yourTableID']/descendant::tr[td[.='"column2text"']]/td[3]/button); 
0
  1. 對生成的表格中的行進行計數。 int rolesTableRowCount = selenium.getXpathCount("//table[@id='your_table_id']/tbody/tr").intValue();
  2. 如果計數符合您的預期結果,則可以將文本存儲在特定的單元格中。 String var = selenium.getText("element_locator");
  3. 檢查var的內容是否與您的測試字符串匹配。
  4. 如果它點擊「搜索個人資料」中第3列
3

給出一個頁面像這樣的鏈接:

<html><head></head><body> 
<table> 
    <tbody> 
     <tr> 
      <td>Number</td> 
      <td>Name</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>1</td> 
      <td>Tom</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>2</td> 
      <td>Jane</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>3</td> 
      <td>Jill</td> 
      <td>Link</td> 
     </tr> 
    </tbody> 
</table> 
</body></html> 

您可以通過使用XPath先找到名字找到正確的值的用戶。然後,相對於該名稱,您可以將第三列相對於表中找到的名稱進行定位。

selenium.click("//table/tbody/tr/td[text()='Jane']/parent::tr/td[3]") 

在此示例中,它查找第二列中'Jane'的第一個實例並完全匹配。然後它備份到行和目標(並點擊)第三列。

相關問題