2017-11-25 3 views
2

Also habe ich versucht, auf eine Schaltfläche auf YouTube zu klicken, aber ich kann die Schaltfläche nicht durch den Xpath finden, da es so viele Schaltflächen gibt, also habe ich versucht, sie in einer IList zu speichern, jetzt möchte ich auf eine bestimmte Schaltfläche in der Liste klicken .C# Wie klicke ich auf ein IWebelement in einer IList?

ChromeDriver chrome = new ChromeDriver(); 
List<IWebElement> textfields = new List<IWebElement>(); 
chrome.Navigate().GoToUrl("https://www.youtube.com/watch?v=9bZkp7q19f0"); 
textfields = chrome.FindElements(By.XPath("//*[@id=\"button"]")).ToList(); 

Antwort

1

Gemäß der Dokumentation von SeleniumFindElements(By.XPath("//*[@id=\"button"]")) wird ReadOnlyCollection<IWebElement> eine List des Typs zurück. So können Sie Ihren Code vereinfachen:

ChromeDriver chrome = new ChromeDriver(); 
List<IWebElement> textfields = new List<IWebElement>(); 
chrome.Navigate().GoToUrl("https://www.youtube.com/watch?v=9bZkp7q19f0"); 
textfields = chrome.FindElements(By.XPath("//*[@id='button']")); 
foreach (IWebElement field in textfields) 
{ 
    string my_text = field.GetAttribute("any_attribute_button_tag"); 
    Console.WriteLine(my_text); 
} 
Verwandte Themen