1

我很难使用 Selenium Web 驱动程序来查找以下场景的标签文本。

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

4

3 回答 3

2
driver.findElement(By.id("row")).getText();
于 2012-04-10T00:29:17.187 回答
1

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

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

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

   list.get(i).getText();

  }

我希望这能回答你的问题。

于 2012-04-20T06:38:37.560 回答
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 必须用于存储所有匹配项。

于 2012-04-11T07:05:50.333 回答