java Selenium如何选择具有可变文本的元素
<div class="order-number">
<h3>"Order number: "<strong>123-123123</strong> </h3>
</div>
知道如何选择订单号吗?我使用硒2。我试过这个:
driver.findElement(By.xpath(".//*[matches(text(),'\\d+-\\d+']"));
但它不起作用。Xpath2支持正则表达式吗
订单的编号总是不同的,但XXX-XXXXXX的样式总是相同的
# 1 楼答案
另一种方法是通过CSS选择器进行搜索:
但是,如果页面结构发生变化,它会更脆弱
更好的解决方案(如果您能够更改页面代码)是在
<strong>
标记上放置一个ID,并使用By.id
。这比XPath或CSS选择器更快、更不脆弱、更可读