代码之家  ›  专栏  ›  技术社区  ›  Alex

从网站上单击多个同名按钮-Selenium

  •  0
  • Alex  · 技术社区  · 2 年前

    我正在尝试浏览一个页面,并开始将列表中的所有产品添加到购物车中。 通过这样做,我想点击任何它有按钮“同意”。

    这是我的密码

    IWebDriver driver = new ChromeDriver();
    driver.Navigate().GoToUrl("url.com");
    for (int i = 0; i < 10; i++)
      {
         driver.FindElement(By.LinkText("Agree")).Click();                 
      }
    

    这是一个屏幕截图,显示了我的按钮及其在“Inspect”中的详细信息 enter image description here

    2 回复  |  直到 2 年前
        1
  •  1
  •   Barry O'Kane    2 年前

    只要您对只需单击找到的每个元素(最多10个)感到满意,那么这就可以了。

    var buttons = driver.FindElements(By.LinkText("Buy")).ToArray();
    
    for (int i = 0; i < 10; i++)
    {
        buttons[i].Click();                 
    }
    

    或者,如果要单击每个按钮一次,请使用foreach

    foreach(button in buttons)
    {
       button.Click();
    }