C# 单击具有相同CssSelector或相同XPath FindElements的所有元素

C# 单击具有相同CssSelector或相同XPath FindElements的所有元素,c#,selenium,xpath,webdriver,css-selectors,C#,Selenium,Xpath,Webdriver,Css Selectors,在为SeleniumWebDriver编写代码的VisualStudio中,同一按钮的这两个代码只能正常工作一次 单击Css选择器的按钮: driver.FindElement(By.CssSelector(".follow-text")).Click(); driver.FindElement(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-fo

在为SeleniumWebDriver编写代码的VisualStudio中,同一按钮的这两个代码只能正常工作一次

单击Css选择器的按钮:

driver.FindElement(By.CssSelector(".follow-text")).Click();
driver.FindElement(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']")).Click();
单击按钮按XPath:

driver.FindElement(By.CssSelector(".follow-text")).Click();
driver.FindElement(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']")).Click();
在这一切纠正之前


但我想单击所有按钮,而不是仅单击第一个按钮,并且由于
FindElements
(复数形式)get me错误,我如何才能按“单击”按钮来单击具有相同代码的所有按钮

使用此获取错误:

List<IWebElement> textfields = new List<IWebElement>(); 
driver.FindElement(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']")).Click();
driver.FindElement(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn'][3]")).Click();
List textfields=new List();
FindElement(By.XPath(“//button[@class='user-actions-follow-button js follow btn follow button btn small follow btn']))。单击();
driver.FindElement(By.XPath(“//button[@class='user-actions-follow-button js follow btn follow button btn small follow btn'][3]”)。单击();
请参阅捕获:

List <WebElement> list = driver.FindElements(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']"));
List List=driver.FindElements(By.XPath(//button[@class='user-actions-follow-button js follow btn follow button btn small follow btn']);
然后迭代列表中包含的元素列表:

int x = 0;
while (x < list.size()) {
    WebElement element = list.get(x);
    element.click();
}
intx=0;
而(x
您应该使用类似的方法(注意findElements中的s)


您需要循环查看
FindElements
result并调用
。在每个项目上单击()

var result = driver.FindElements(By.XPath("//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']"));
foreach (IWebElement element in result)
{
    element.Click();
}
仅供参考,您需要将XPath包装在括号中,以使尝试使用XPath索引的代码正常工作:

driver.FindElement(By.XPath("(//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn'])[3]")).Click();

出现此错误,我做了什么不好。。?mm aix:thankswierd,您使用的是什么java版本,在什么IDE上?我使用java版本号7和Selenium IDE(最后一个)用于Firefox,在Visual Studio中编写代码,正如图片所示,您一定忘记了一个
对不起,这是我的错,它没有运行,因为我使用Webdriver C#我现在明白了,对不起,对不起,谢谢大家。