C#如何在IList中单击IWebelement?

时间:2017-11-25 10:42:14

标签: c# list selenium click

所以我试着点击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();

1 个答案:

答案 0 :(得分:2)

根据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);
}