<div class="order-number">
<h3>"Order number: "<strong>123-123123</strong> </h3>
</div>
知道如何选择订单号吗?我使用 Selenium 2。我尝试过:
driver.findElement(By.xpath(".//*[matches(text(),'\\d+-\\d+']"));
但是它不起作用。 Xpath2 支持正则表达式吗?
订单号总是不同,但是XXX-XXXXXX的款式总是一样的。
最佳答案
另一种方法是通过 CSS 选择器进行搜索:
By.cssSelector(".order-number H3 STRONG")
如果页面结构发生变化,它会变得更加脆弱。
更好的解决方案(如果您能够更改页面代码)是将 ID 放在 <strong>
上。标记并使用 By.id
。与 XPath 或 CSS 选择器相比,这更快、更不脆弱且更具可读性。
关于java - Selenium - 如何选择具有可变文本的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279672/