【发布时间】:2015-11-23 02:02:37
【问题描述】:
阅读大量代码示例后,我试图找到<tr> 元素,其中后代<span> 元素的内容与参数columnValue 匹配,我只想在具有@ 中给出的索引的列中搜索987654324@。我在 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>
【问题讨论】: