【发布时间】:2013-10-12 08:33:28
【问题描述】:
我使用 Selenium 2.35.0、最新的 Firefox 和 Linux 操作系统。
我无法在我的 java 应用程序中使用正则表达式。
我有这样一行:
Iterator<WebElement> iterator =
driver.findElements(By.xpath("//a[matches(@href, 'site.ru/[0-9]*/')]")).iterator();
发生异常:
org.openqa.selenium.InvalidSelectorException: 给定的选择器 //a[matches(@href, "site.ru/[0-9]/")] 无效或无效 产生一个 WebElement。发生以下错误: InvalidSelectorError:无法使用 xpath 定位元素 表达式 //a[matches(@href, "site.ru/[0-9]/")]
你能帮我调查一下这个故障的原因吗?
【问题讨论】:
-
也许你需要匹配所有像这样的href文本。*site.ru/[0-9]*/.*
-
@Darka,好主意,但如果正则表达式存在于字符串中的任何位置,XPath
matches()函数已经匹配。
标签: java regex xpath selenium-webdriver