首页 文章

XPath表达式中的正则表达式[重复]

提问于
浏览
1

这个问题在这里已有答案:

我有一些HTML代码:

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

我想找到ID为'order'的所有DIV . 在Ruby中我试试

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

但是Selenium给出了一个错误

Selenium :: WebDriver :: Error :: InvalidSelectorError:无效的选择器:由于以下错误,无法找到具有xpath表达式// div [matches(@id,“order- [0-9]”)]的元素: SyntaxError:无法对'Document'执行'evaluate':字符串'// div [matches(@id,'order- [0-9]“)]'不是有效的XPath表达式 .

为什么?

1 回答

  • 0

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

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

相关问题