java - 如何通过 Xpath 查询 Selenium 中的 HTML 元素?

标签 java html selenium xpath

阅读了大量代码示例后,我试图找到 <tr>元素所在后代的内容<span>元素与参数 columnValue 匹配我只想在 columnId 中给出的索引的列中进行搜索。我在 Java 中使用 Selenium 尝试了类似的操作,但我总是得到 InvalidSelectorException: Xpath expression cannot be evaluated 。我在此 Xpath 表达式中单独测试了这两个条件,它们工作时没有任何问题。但是当我将它们与 and 结合起来时在单个 XPath 表达式中使用运算符时,将引发异常。

这是我的 Java 代码:

public WebElement getRow(final String columnId, final String columnValue) {
      final List<WebElement> eleList =
             getElement().findElements(
                   By.xpath("tbody/tr[td/span/text()='" + columnValue + "' and ./td/position()=" + (columnId + 1)"]"));
      return null;
}

这是相应的 HTML 代码:

<tbody>
  <tr class="even">
    <td>
      <span>Regionalmarkt Nord</span>
    </td>
    <td>
      <span>777</span>
    </td>
    <td>
      <span id="links">        
        <a name="delete_button" href="#" > <img title="Delete" src="/path/..."/></a>
        <a id="edit_button" href="#"> <img title="Edit" src="/path/..."/></a>  
       </span>
    </td>
  </tr>
  <tr>
  ...
  </tr>
</tbody>

最佳答案

尝试这个 xpath 表达式:

"//td[" + (columnId + 1) + "]/span[text()='"+ columnValue +"']/ancestor::tr[1]"

关于java - 如何通过 Xpath 查询 Selenium 中的 HTML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270539/

相关文章:

java - Birt 在 PDF 报告中找不到正确的字体文件

java - Android - 调整图标 map 大小

css - <div> 标签的高度

java - 使用 Sikuli 和 Env.isLockOn(Key.NUM_LOCK) 单击图像不起作用

java - 将 Runtime.exec 与 "Program Files"一起使用的正确语法

java - 多封电子邮件

javascript - 无法从 HTML 调用 Javascript 类

php - Notepad++ 中 HTML 或 PHP 的自动完成语法。不自动关闭,自动完成

python - 使用Python通过selenium Webdriver中的Url上传图像

html - 如何使用 xpath 读取多个子标题?