将 Regex 与 selenium 驱动程序标签选择器一起使用

Use Regex with selenium driver tag selectors

我正在尝试配置正则表达式以查找具有此类属性的所有元素。 HTML 标签类似于:

<img class="my-img-12">

其中最新的 2 个数字总是不同的。 我尝试了这些方法,但似乎都没有用:

    List<WebElement> allElement = driver.findElements(By.cssSelector("img[class^='my-img-\d{1,}']"));

    List<WebElement> allElement = driver.findElements(By.xpath(".//img[starts-with(@class, 'my-img-') and  'my-img-' = translate(@class, '0123456789', '') and string-length(@class) > 1])"));

这里推荐了最新的选项:Stack question

如果您正在考虑这个:

    List<WebElement> allElement = driver.findElements(By.cssSelector("img[class^='my-img-']"));

它不会起作用,因为可能有这样的属性:

<img class="my-img-wordsOccurrences">

您可以尝试使用 XPath 包含:

List<WebElement> allElement = driver.FindElements(By.Xpath(".//<define root element here>[contains(@class, 'my-img-')]")