在閱讀了很多代碼示例之後,我試圖找到<tr>
元素,其中後代<span>
元素的內容與參數columnValue
相匹配,我只想在列中使用columnId
中給出的索引進行搜索。我在Java中使用Selenium嘗試過類似的東西,但我總是得到一個InvalidSelectorException: Xpath expression cannot be evaluated
。我在這個Xpath表達式中分別測試了兩個條件,並且它們沒有任何問題。但是,當我在一個XPath表達式中將它們與and
運算符結合使用時,將拋出異常。如何通過Xpath在Selenium中查詢HTML元素?
這是我的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>
很高興能有幫助! – drkthng