【问题标题】:Using selenium webdriver to find the label text使用 selenium webdriver 查找标签文本
【发布时间】:2012-04-22 07:37:21
【问题描述】:

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

【问题讨论】:

标签: selenium selenium-webdriver


【解决方案1】:
driver.findElement(By.id("row")).getText();

【讨论】:

    【解决方案2】:

    您可以使用以下代码一一循环所有需要的标签-

    List<WebElement> list = driver.findElements(By.xpath("//*[@id='row']/td/b"));
    
    for(int i=0;i<list.size;i++){
    
       list.get(i).getText();
    
      }
    

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

    【讨论】:

      【解决方案3】:

      要通过其位置获取值,您可以使用以下内容:

          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 必须用于存储所有匹配项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多