1

我正在尝试创建一个小型应用程序,它读取邮政编码的 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());

有人对我要去哪里有任何想法吗?

谢谢

4

1 回答 1

0

不要在for循环的极限值检查中硬编码 100。使用网格中的实际计数,如下所示:

for (x = 0; x < dataGridView1.SelectedCells.Count; x++)

可能是您的网格选择的单元格集合没有您所期望的。但是硬编码这样的值绝不是一个好主意,这就是为什么您会收到“索引超出范围”错误的原因。

于 2013-09-20T15:31:53.683 回答