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

时间:2016-02-23 13:46:43

标签: c# selenium foreach webdriver

我需要按类查找页面中的所有元素并单击它们,然后在每个元素中,我需要按类查找所有其他元素并单击,我该如何以简单的方式执行此操作?我尝试在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);
         }
    }
}

2 个答案:

答案 0 :(得分:6)

问题源于您使用相同名称element作为两个循环的迭代器的事实。你也打破了try-catch块。

答案 1 :(得分:3)

除@Gnqz答案外,在foreach (IWebElement element in select2)中,当元素位于select2时,您会迭代select2arrow

内部catch区块中也没有try