Selenide-检查链接文本是否匹配正则表达式

发布于 2025-01-23 09:30:33 字数 436 浏览 0 评论 0原文

是否可以找到与正则表达式匹配的链接?

这里 https://demoqa.com/links 第二个链接每次都有一个随机名称,每次都会生成模式主页[A-ZA-Z] {5}

是否有任何方法可以检查链接文本是否匹配到正则是 substring + smth ? xpath // a [contains(text(),'substring')]$(partialLinkText(“ subString”)))不适合,因为他们会选择两个HOMEhome [a-za-z] {5}

Is it possible to find a link that matches to the regular expression?

Here https://demoqa.com/links the 2nd link has a random name that is generated each time with the pattern Home[a-zA-Z]{5}.

Is there any way to check if link text matches to the RegEx or simply contains substring + smth? XPath //a[contains(text(),'substring')] or $(partialLinkText("substring")) do not fit because they will select both Home and Home[a-zA-Z]{5}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生再见 2025-01-30 09:30:33

首先,正则应包括数字:“ home [a-za-z \ d] {5}”,我唯一可以的解决方案(至少目前)是迭代在所有包含home的链接元素上:

StreamSupport.stream(Selenide.$(Selectors.byPartialLinkText("Home")).asFixedIterable().spliterator(), false)
                .filter( element -> element.getText().matches("Home[a-zA-Z\\d]{5}") )
                .findFirst();

但是,如果您知道浏览器支持 XPATH 2.0 ,因此您可以使用匹配与Regex的功能:

Selenide.$(Selectors.byXpath("//a[matches(text(), 'Home[a-zA-Z\\d]{5}')]"));

也许一无所获。浏览器中有关XPATH 2.0支持的以下链接:

First the regex should include numbers as well: "Home[a-zA-Z\d]{5}", and the only solution I can thing of (at least for now), is to iterate over all link elements that contains Home:

StreamSupport.stream(Selenide.$(Selectors.byPartialLinkText("Home")).asFixedIterable().spliterator(), false)
                .filter( element -> element.getText().matches("Home[a-zA-Z\\d]{5}") )
                .findFirst();

But if you know that your browser supports XPath 2.0, so you can use matches function with regex:

Selenide.$(Selectors.byXpath("//a[matches(text(), 'Home[a-zA-Z\\d]{5}')]"));

Maybe worth nothing the following links about XPath 2.0 support in browsers:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文