Ottieni un elenco di valori degli attributi di tutti gli elementi con una classe specifica usando Selenium in C#
Usando Selenium, mi piacerebbe ottenere un elenco di attributi del titolo su tutti gli elementi di una classe specifica. Ho provato questo codice:
var link = webDriver.FindElement(By.ClassName("class")).GetAttribute("title");
Tuttavia, ottengo sempre solo il titolo del primo elemento .
Qualche idea su come posso farlo? Ho pensato di farlo con foreach
loop, ma non riesco a pensare a una condizione che funzioni...
Risposte
Supponendo che sia necessario recuperare il valore dell'attributo "title" da tutti gli elementi con il nome di classe "Class". È possibile utilizzare il metodo FindElements di WebDriver per ottenere tutti gli elementi con il nome della classe "Classe". Dall'elenco di tutti gli elementi è possibile recuperare il valore dell'attributo (titolo). Ho anche aggiunto una clausola where per eliminare tutti gli elementi che hanno un nome di classe "Class" e hanno un attributo "title" vuoto.
var alltitles = webDriver
.FindElements(By.ClassName("Class"))
.Where(x => !string.IsNullOrEmpty(x.GetAttribute("title")))
.Select(x => x.GetAttribute("title"))
.ToList();