使用 C# 中的 ChromeDriver 单击每个包含特定 class 名称的按钮
Clicking every button that contains a specific class name with ChromeDriver in C#
我正在使用 ChromeDriver,我希望它能点击页面上包含特定 class 名称的每个按钮。
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
ChromeDriverService chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
ChromeOptions options = new ChromeOptions();
options.AddArgument("ignore-certificate-errors");
ChromeDriver driver = new ChromeDriver(chromeDriverService, options);
driver.Url = "https://www.some-url.com";
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(2);
我在想一些类似的事情:
driver.FindElement(By.ClassName("some-class-name")).Click();
然而那只能点击一个按钮。我怎样才能做到这一点来点击网页上找到的每个按钮?
尝试使用 FindElements
而不是 FindElement
IList<IWebElement> list= driver.FindELements(By.ClassName("some-class-name");
foreach (IWebElement element in list)
{
element.Click();
}
List<WebElement> elementName = driver.findElementsBy.ClassName("some-class-name"));
这将 return 一个 WebElements
的列表,您可以在 foreach 语句中对其进行迭代,对每个执行 .click()
。
我正在使用 ChromeDriver,我希望它能点击页面上包含特定 class 名称的每个按钮。
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
ChromeDriverService chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
ChromeOptions options = new ChromeOptions();
options.AddArgument("ignore-certificate-errors");
ChromeDriver driver = new ChromeDriver(chromeDriverService, options);
driver.Url = "https://www.some-url.com";
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(2);
我在想一些类似的事情:
driver.FindElement(By.ClassName("some-class-name")).Click();
然而那只能点击一个按钮。我怎样才能做到这一点来点击网页上找到的每个按钮?
尝试使用 FindElements
而不是 FindElement
IList<IWebElement> list= driver.FindELements(By.ClassName("some-class-name");
foreach (IWebElement element in list)
{
element.Click();
}
List<WebElement> elementName = driver.findElementsBy.ClassName("some-class-name"));
这将 return 一个 WebElements
的列表,您可以在 foreach 语句中对其进行迭代,对每个执行 .click()
。