元素,并在页面上重复多次。硒c#

元素,并在页面上重复多次。硒c#,c#,selenium,selenium-webdriver,automated-tests,C#,Selenium,Selenium Webdriver,Automated Tests,我有一个元素,它只有类名作为定位器或属性,可以用来定位。我尝试了多种不同的解决方案,但它没有点击正确的一个或根本不做任何事情。我尝试过使用X-path,但也没有用,因为它不可靠 <a class=“Icon-shadows” <i class=“fa fas.fw fa-info” ::before I> a> 这个信息按钮在一个页面上出现25-40次以上,如果你点击它,你就会得到关于内容的信息。 如果需要,我可以添加更多信息。任何帮助建议

我有一个元素,它只有类名作为定位器或属性,可以用来定位。我尝试了多种不同的解决方案,但它没有点击正确的一个或根本不做任何事情。我尝试过使用X-path,但也没有用,因为它不可靠

  <a class=“Icon-shadows”
    <i class=“fa fas.fw fa-info”
  ::before 
  I>
  a>

这个信息按钮在一个页面上出现25-40次以上,如果你点击它,你就会得到关于内容的信息。
如果需要,我可以添加更多信息。任何帮助建议都将不胜感激。

尝试将其保存到列表中,然后单击您需要的特定建议

IList<IWebElement> infoBtn = driver.FindElements(By.CssSelector("a[class='Icon-shadows']"));
infoBtn[4].Click();
IList infoBtn=driver.FindElements(By.CssSelector(“a[class='Icon-shadows']);
infoBtn[4]。单击();

请共享您尝试过的x路径和父级elment html代码。是否要单击信息元素或任何特定元素?如何转到注释中的新行以分隔代码?我一直在努力,而不是去新的路线,它不断张贴。但我尝试过使用类名、标记名和从源代码复制xpathfindelelement(By.calssname(fa-info)'findelelement(By.XPath(“/*[@id='app-main']]/div/div/div[2]/section/div/ul/li[2]/div/div/div[1]”)。单击();我想单击特定的一个。html代码太长,无法放在一个中。我将放在两个不同的注释中。当我使用上述语句时,我得到一个错误,即索引的顺序与您使用的顺序不符“FindElement”方法还是仅仅FindElement?