指数超出范围.必须为非负数且小于集合的大小. 参数名称:索引

本文关键字:集合 参数 索引 小于 范围 指数 | 更新日期: 2023-09-27 17:57:07

我是C#硒的初学者..当我尝试下面的代码时,它抛出了异常:

指数超出范围。必须是非负数且小于集合的大小。

参数名称:索引

请帮我解决这个问题

class Program { static void Main(string[] args)
{
    IWebDriver driver = new ChromeDriver();
    driver.Url = @"file:///C:/users/user/documents/visual%20studio%202012/Projects/LearnSelenium_Xpath/LearnSelenium_Xpath/TestPage.html";
    var radiobutton = driver.FindElements(By.Name("Color"))[0]; -->Exception
    radiobutton.Click();
}

指数超出范围.必须为非负数且小于集合的大小.
参数名称:索引

.FindElements似乎找不到任何元素,导致[0]失败。

您应该在访问之前检查driver.FindElements(By.Name("Color"))的结果。

似乎您无法确定是否会找到单选按钮或发生长度错误,并且需要检查以正常通知用户。

class Program { static void Main(string[] args)
{
    IWebDriver driver = new ChromeDriver();
    driver.Url = @"file:///C:/users/user/documents/visual%20studio%202012/Projects/LearnSelenium_Xpath/LearnSelenium_Xpath/TestPage.html";
    try
    {
        var radiobutton = driver.FindElements(By.Name("Color"))[0]; -->Exception
        radiobutton.Click();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message(), "Radio button error");
    }
}