一尘不染

C#如何单击IList中的IWebelement?

selenium

因此,我尝试单击YouTube上的一个按钮,但是由于按钮太多,因此无法通过Xpath找到该按钮,因此我尝试将它们保存在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();

阅读 367

收藏
2020-06-26

共1个答案

一尘不染

根据的文档将返回类型。因此,您可以像这样简化代码:
Selenium

FindElements(By.XPath("//*[@id=\"button"]")) List
ReadOnlyCollection<IWebElement>

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);
}
2020-06-26