#c# #regex #selenium #webdriver
#c# #регулярное выражение #selenium #webdriver
Вопрос:
Возможно ли использовать регулярные выражения или какую-либо функцию «содержать» в WebDriver.FindElement()
?
например, у меня есть элемент с XPath, подобный этому
//html//body//form//table//tbody//tr//td//a[@href='view.php?id=']
и id
является случайным числом, подобным view.php?id=132548
Ответ №1:
Вы можете использовать регулярные выражения в CSS-селекторах,
WebElement element = driver.findElement(By.cssSelector("E[foo^='bar']"));
E[foo="bar"] an E element whose "foo" attribute value is exactly equal to "bar"
E[foo~="bar"] an E element whose "foo" attribute value is a list of whitespace-separated values, one of which is exactly equal to "bar"
E[foo^="bar"] an E element whose "foo" attribute value begins exactly with the string "bar"
E[foo$="bar"] an E element whose "foo" attribute value ends exactly with the string "bar"
E[foo*="bar"] an E element whose "foo" attribute value contains the substring "bar"
Комментарии:
1. 1, но это не регулярные выражения. Хотя на это явно влияет regex, этот синтаксис принадлежит только CSS.
Ответ №2:
Используйте функцию contain в XPath
//html//body//form//table//tbody//tr//td//a[contains(@href,'view.php?id=')]
Ответ №3:
Я не уверен, но я думаю, что регулярное выражение не поддерживается в Selenium 2