Как напрямую найти WebElements по их атрибутам, кроме «class» и «name» (например, «title»)
Я очень новичок в Java и Selenium, поэтому заранее извиняюсь, если мой вопрос звучит немного первично.
Я использую:
driverChrome.findElements(By.className("blabla"));
чтобы найти элементы, которые имеют "blabla" в качестве своего className, например:
<span class="blabla" title="the title">...</span>
А что если я захочу найти все элементы по их другим атрибутам? что-то вроде:
driverChrome.findElements(By.titleValue("the title"));
Это код, который я сейчас использую для выполнения этой задачи:
List<WebElement> spans = driverChrome.findElements(By.tagName("span"));
for (WebElement we : spans) {
if (we.getAttribute("title") != null) {
if (we.getAttribute("title").equals("the title")) {
...
break;
}
}
}
но это не быстро и просто в использовании.