C# 如何在foreach循环中使用foreach循环?

C# 如何在foreach循环中使用foreach循环?,c#,selenium,selenium-webdriver,foreach,webdriver,C#,Selenium,Selenium Webdriver,Foreach,Webdriver,我需要按类查找页面中的所有元素并单击它们,然后在每个元素中,我需要按类查找所有其他元素并单击,如何以简单的方式做到这一点?我尝试在foreach循环中使用foreach循环,但它没有正常工作 var select2arrow = driver.FindElements(By.ClassName("select2-arrow")); foreach (IWebElement element in select2) { try { element.Click();

我需要按类查找页面中的所有元素并单击它们,然后在每个元素中,我需要按类查找所有其他元素并单击,如何以简单的方式做到这一点?我尝试在foreach循环中使用foreach循环,但它没有正常工作

var select2arrow = driver.FindElements(By.ClassName("select2-arrow"));
foreach (IWebElement element in select2)
{
    try
    {
        element.Click();
        var select2title = driver.FindElements(By.ClassName("title"));
        foreach (IWebElement element in select2title )
        {
            try
            {
                element.Click();
            }
        }
    }
    catch (Exception ex)
    {
         if (TestRunner.LogTestReports)
         {
                    driver.SaveScreenshot(ex);
         }
    }
}

这个问题源于这样一个事实:对于这两个循环,您使用相同的name元素作为迭代器。您还打破了try-catch块

除了@Gnqz answer之外,在select2中的每个IWebElement元素中,当元素位于select2arrow中时,您可以在select2上迭代


您的内部try块中也没有catch。

但它不能正常工作-什么不起作用?您的代码将无法编译,您不能尝试使用catch块。