使用c#将数据从文本框发送到网站文本框

本文关键字:文本 网站 数据 使用 | 更新日期: 2023-09-27 18:06:57

我一直在尝试从我的c#表单中输入数据,当我点击提交按钮时,它应该被转移到网站的TextBox

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浏览器中打开一个链接并搜索属性以在其中输入数据,但它给出了一个错误,"Value of '1' is not valid for 'index'. 'index' should be between 0 and -1."当我将索引更改为零时,它给出了相同的错误。

使用c#将数据从文本框发送到网站文本框

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

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

代码已针对您的数组进行了修改。

GetElementsByName("email")[0].