XPath表达式中的正则表达式

时间:2015-02-08 10:17:27

标签: ruby regex selenium xpath

我有一些HTML代码:

<div>
  <div id="order-1"></div>
  <div id="order-2"></div>
</div>

我想找到所有带有ID&#39;订单&#39;的DIV。 在Ruby中我试试

divs = driver.find_elements :xpath, '//div[matches(@id, "order-[0-9]")]'

但是Selenium给出了错误

  

Selenium :: WebDriver :: Error :: InvalidSelectorError:无效的选择器:   无法使用xpath表达式查找元素   // div [匹配(@id,&#34; order- [0-9]&#34;)],因为以下错误:   SyntaxError:无法执行&#39;评估&#39; on&#39; Document&#39;:字符串   &#39; // div [匹配(@id,&#34; order- [0-9]&#34;)]&#39;不是有效的XPath表达式。

为什么?

1 个答案:

答案 0 :(得分:0)

您可以使用starts-with,但这不会检查ID末尾的数字:

//div[starts-with(@id,"order-")]