2015-10-12 51 views
1

我有如下表:硒的webdriver的Java/JUnit的 - 獲取表元素

<table> 
    <tbody> 
     <tr> 
      <td> 
       <a href="/ResetPassword/1/"></a> 
      </td> 
      <td> 
       User1 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <a href="/ResetPassword/2/"></a> 
      </td> 
      <td> 
       User2 
      </td> 
     </tr> 
    </tbody> 
</table> 

我想找到a - 標籤的TR,其中數據User2是在同一行中的。我知道我可以找到a -tag的部分鏈接,如findElement(By.partialLinkText("/ResetPassword/"));(數字2可以更改,所以我不能用它作爲分隔符)。但我需要由用戶將其分開。有沒有類似tr.td.text("User2") > findElement(By.partialLinkText("/ResetPassword/"));的解決方案?

回答

1

這個XPath應該爲你做的。 .//tr[td[normalize-space(text())='User2']]//a只需更改具有所需用戶值的「User2」部件即可。

0

U可以嘗試這樣的事情(不知道雖然) -

List<WebElement> list=table.findElements(By.tagName("tr")); 
List<WebElement> tdvalues=null; 
for(WebElement web:list){ 
    tdvalues=web.findElements(By.tagName("td")); 
     if(tdvalues.contains("User2")){ 
      System.out.println(tdvalues.get(0).getText());//0th position contains the  link 
     } 
tdvalues.clear(); 
} 
0

您好我想,如果你可以用/@a使用.getValue()聲明在XPath的結束定位屬性「a」。 要做的事情主要是找到一個防彈xpath來找到User2行,一旦你發現「a」的值應該很容易。

我希望這可以幫助