C# 使用c将数据从textbox发送到网站textbox?

C# 使用c将数据从textbox发送到网站textbox?,c#,html,browser,C#,Html,Browser,我一直在尝试从我的c表单中输入数据,当我点击表单上的提交按钮时,它应该被转移到网站的文本框中…这里 private void button1_Click(object sender, EventArgs e) { webBrowser1.Document.All.GetElementsByName("email")[1].SetAttribute("Value", textBox2.Text); webBrowser1.Document.All.GetElementsByName("

我一直在尝试从我的c表单中输入数据,当我点击表单上的提交按钮时,它应该被转移到网站的文本框中…这里

private void button1_Click(object sender, EventArgs e)
{
   webBrowser1.Document.All.GetElementsByName("email")[1].SetAttribute("Value", textBox2.Text);
   webBrowser1.Document.All.GetElementsByName("pass")[1].SetAttribute("Value", textBox3.Text);
   webBrowser1.Document.GetElementsByTagName("form")[1].InvokeMember("submit");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}

private void button2_Click(object sender, EventArgs e)
{
}

private void Form1_Load(object sender, EventArgs e)
{
   webBrowser1.Navigate("gmail.com");//Your link
   webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); 
}
我所做的是在web浏览器中打开一个链接并搜索属性以在其中输入数据,但它给出了一个错误,即“1”的值对“index”无效索引“”应介于0和-1之间。当我将索引更改为零时,它会给出相同的错误。

GetElementsByNameemail[1]表示至少有两个元素的名称为email,您希望选择第二个元素,因为[1]指定数组的索引,数组从索引0开始


在您的情况下,似乎只有一个元素的名称为email,可能还有您尝试获取的其他元素,假设存在具有该名称的元素,这意味着您将需要获取数组中的第一项,换句话说,GetElementsByNameemail[0]

已为您的数组修改了代码

GetElementsByName("email")[0].

我猜GetElementsByName要么不返回数组,要么您需要使用[0]来获取第一个元素。抱歉,我没有理解您所说的。请您在我的代码中更正一下我的错误,好吗?我已经在上面的答案中做了。你到底不明白什么?GetElementsByName方法返回一个项目列表,而不仅仅是一个项目,最后的[1]将选择要使用的数组索引。在您的情况下,您试图访问列表中可能只包含一项的第二项[1],在这种情况下,您应该使用[0]获取数组中的第一项。您是否修改了数组?所以Email是[0],Pass是[1];表格是[2]?