Cómo encontrar directamente WebElements por sus atributos, excepto "clase" y "nombre" (por ejemplo, "título")
Soy muy nuevo en Java y Selenium, así que pido disculpas de antemano si mi pregunta suena un poco primaria.
Yo suelo:
driverChrome.findElements(By.className("blabla"));
para encontrar elementos que tengan "blabla" como className, por ejemplo:
<span class="blabla" title="the title">...</span>
Ahora, ¿qué pasa si quiero encontrar todos los elementos por sus otros atributos? algo como:
driverChrome.findElements(By.titleValue("the title"));
Este es el código que estoy usando actualmente para hacer esta tarea:
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;
}
}
}
Pero no es rápido y fácil de usar.