2012-04-10 205 views
0

我很難用Selenium網絡驅動程序來查找下面的方案的標籤文本。使用硒webdriver找到標籤文本

<tr id="row"> 
<td width="148" height="22" align="left"> 
<b> Label Text</b> 
</td> </tr> 

如何使用webdriver獲取標籤文本?

在此先感謝。


感謝您的回覆。我想我應該更具體。我有一個tr標籤內的td標籤列表。 對於如:

<tr id="row"> 
<td width="148" height="22" align="left"> 
<b> Label Text 1</b> 
<td width="148" height="22" align="left"> 
<b> Label Text 2</b> 

<td width="148" height="22" align="left"> 
<b> Label Text 3</b> 
</td> </tr> 

driver.findElement(By.id( 「行」))的getText()將檢索我所有的標籤值的。我可以根據頁面中的位置獲取標籤值嗎?謝謝。

+0

你已經在這裏問你的問題http://stackoverflow.com/questions/10095195/finding-label-text-when-id-does-not-exist?rq=1 – 2015-02-15 08:30:21

回答

1
driver.findElement(By.id("row")).getText(); 
0

要獲得通過它的位置值,你可以使用類似:

ReadOnlyCollection<IWebElement> cells = driver.findElements(By.XPath("//tr[@id='row']//td")); 
    foreach(IWebElement cell in cells) 
    { 
     if (cell.Location.X == targetX && cell.Location.Y == targetY) 
     { 
      cell.Text; 
     } 
    } 

此外,FindElement將只返回的第一個元素髮現的條件匹配,FindElements必須用於存儲所有比賽。

1

你可以通過所有必需的標籤,一個接一個通過使用下面的代碼迴路 -

List<WebElement> list = driver.findElements(By.xpath("//*[@id='row']/td/b")); 

for(int i=0;i<list.size;i++){ 

    list.get(i).getText(); 

    } 

我希望這回答了你的問題。