有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    另一种方法是通过CSS选择器进行搜索:

    By.cssSelector(".order-number H3 STRONG")
    

    但是,如果页面结构发生变化,它会更脆弱

    更好的解决方案(如果您能够更改页面代码)是在<strong>标记上放置一个ID,并使用By.id。这比XPath或CSS选择器更快、更不脆弱、更可读