使用selenium webdriver查找标签文本

时间:2012-04-10 00:24:40

标签: selenium selenium-webdriver

我很难使用Selenium网络驱动程序查找以下方案的标签文字。

<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(“row”))。getText()将检索所有这些标签值。我可以根据页面中的位置获取标签值吗?感谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以使用以下代码逐个遍历所有必需的标签 -

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

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

   list.get(i).getText();

  }

我希望这能解决你的问题。

答案 2 :(得分: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存储所有匹配项。