C#“指数超出范围。必须是非负面的”

时间:2013-09-20 15:14:51

标签: c# selenium

我正在尝试创建一个小应用程序,该应用程序读取邮政编码的excel文件,然后自动检查某些网站的3G信号覆盖范围。但是,这段代码产生了主题标题中提到的错误。

        //Find the input field on the three postcode checker
        int x;
        for (x = 0; x < 100; x++)
        {
            IWebElement input = driver.FindElement(By.Name("postcode"));
            string postcodeInput = (dataGridView1.SelectedCells[x].Value.ToString());
            string returnKey = OpenQA.Selenium.Keys.Return;

            input.SendKeys(postcodeInput);
            input.SendKeys(returnKey);

            IWebElement output = driver.FindElement(By.TagName("h5"));
            string postcodeOutput = output.Text;
            dataGridView1.Rows[x].Cells[1].Value = postcodeOutput;

            input.Clear();
        }
        driver.Quit();

VS亮点是:

string postcodeInput = (dataGridView1.SelectedCells[x].Value.ToString());

任何人都对我出错的地方有任何想法?

由于

1 个答案:

答案 0 :(得分:0)

请勿在{{1​​}}循环的限制值检查中硬编码100。使用网格中的实际计数如下:

for

可能是您的网格选定的单元格集合没有您期望的结果。但是对这样的值进行硬编码从来都不是一个好主意,这就是为什么你会得到“索引超出范围”的错误。