2

在 Workfusion 中,我正在迭代 HTML 页面中由 xpath 找到的所有元素:

//*[starts-with(@id,"FormView1_hidRevElement")][${i}]

当 ${i} = 1 时,我得到预期的结果,但在 ${i} > 1 时没有。

在 HTML 页面中,我有如下元素:

id="FormView1_hidRevElement12636"

id="FormView1_hidRevElement12637"

id="FormView1_hidRevElement12642"

ETC,

抛出的错误:...

  Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: //*[starts-with(@id,"FormView1_hidRevElement")][2]

...

怎么了?

4

1 回答 1

6

您创建的 XPath 是错误的,因为

//*[starts-with(@id,"FormView1_hidRevElement")]

将以下 id 的匹配计数返回为 3

id="FormView1_hidRevElement12636"

id="FormView1_hidRevElement12637"

id="FormView1_hidRevElement12642"

并且每个 id 匹配等于 1 那么显然 >1 条件将引发错误,因为它不存在。

试试这个 XPath:

(//*[starts-with(@id,"FormView1_hidRevElement")])[${i}]

于 2019-01-22T18:04:52.637 回答