小编Cal*_*lle的帖子

Selenium Xpath在div标签内找到一个表格单元格

我有以下HTML代码,我需要检查表格单元格中是否存在文本:

<div class="background-ljus" id="AutoText">
  <table class="topAlignedCellContent">
    <tbody>
      <tr>
        <td>X1</td>
      </tr>
      <tr>
        <td>X2</td>
      </tr> 
    </tbody>
  </table>
  <table>
    <tbody>
      <tr>
        <td>Y1</td>
        <td>Y2</td>
      </tr>
    </tbody>
  </table>
  <table>
    <tbody>
      <tr>
        <td>Z1</td>
        <td>Z2</td>
      </tr>
    </tbody>
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经解决了这个问题:

By locator = getLocator(CommonConst.XPATH, "*//div[@" + type + "='" + anyName + "']");
  fluentWait(locator);

  WebElement div = getDriver().findElement(locator);
  List<WebElement> cells = div.findElements(By.tagName("td"));
  for (WebElement cell : cells) {
    if (cell.getText().contains(cellText)) {
      foundit = true;
    }
  }
Run Code Online (Sandbox Code Playgroud)

但我认为它有点慢,因为我需要多次这样做.我试图用XPath做这个,但没有运气.

"*//div[@id='AutoText']//td[contains[Text(), 'celltext']]"
"*//div[@id='AutoText']//table//tbody//tr[td//Text()[contains[., 'celltext']]"
Run Code Online (Sandbox Code Playgroud)

任何人都有一个关于为什么我的XPath不工作的建议?

java selenium xpath

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

selenium ×1

xpath ×1