Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 硒xpath计数_Java_Testing_Selenium - Fatal编程技术网

Java 硒xpath计数

Java 硒xpath计数,java,testing,selenium,Java,Testing,Selenium,我一定忽略了一些非常明显的事情。这个XPath表达式有什么问题?我想获得与id的正则表达式匹配的表行数 我得到: com.thoughtworks.selenium.seleniume例外: 错误:xpath[2]无效: //tr[matches@id,“数据行-\d+”] 以下是示例html: <table> <tbody> <tr id="data-row-0"><td>foo</td></tr> &

我一定忽略了一些非常明显的事情。这个XPath表达式有什么问题?我想获得与id的正则表达式匹配的表行数

我得到:

com.thoughtworks.selenium.seleniume例外: 错误:xpath[2]无效: //tr[matches@id,“数据行-\d+”]

以下是示例html:

<table>
  <tbody>
    <tr id="data-row-0"><td>foo</td></tr>
    <tr id="data-row-1"><td>bar</td></tr>
    <tr id="data-row-2"><td>baz</td></tr>
  </tbody>
</table>
试试-


Selenium 1.x不支持XPath 2.0。因此,不能使用XPath2.0方法,如matches、replace等

您可能需要考虑XPath 1方法,如包含、开始等 此外,为了实现你的目标,你可以尝试


//tr[开始]-with@id,“数据行-”和translate@id,'0123456789',]

问题在于,他需要的是模式匹配,而不是常数。谢谢你的解释。我不知道版本的不同。一开始,我做得很好。干杯
<table>
  <tbody>
    <tr id="data-row-0"><td>foo</td></tr>
    <tr id="data-row-1"><td>bar</td></tr>
    <tr id="data-row-2"><td>baz</td></tr>
  </tbody>
</table>
int tableRowCount = selenium.getXpathCount("//table[@id='whatever']/tbody/tr").intValue();