我使用Webbrowser
控件使用以下代码
webBrowser1.Navigate(new Uri("https://services.gst.gov.in/services/login"));
现在更改密码我正在使用下面的代码无效。
webBrowser1.Document.GetElementById("user_pass").InnerText = "ABC123";
//OR
webBrowser1.Document.GetElementById("user_pass").SetAttribute("type", "text");
webBrowser1.Document.GetElementById("user_pass").SetAttribute("text", "ABC123");
//OR
webBrowser1.Document.GetElementById("user_pass").SetAttribute("text", "ABC123");
//OR
webBrowser1.Document.GetElementById("user_pass").SetAttribute("value", "ABC123");
谁能告诉我怎么做?
答案 0 :(得分:2)
首先,您必须等待页面完全加载:
webBrowser1.DocumentCompleted += OnDocumentLoaded;
webBrowser1.Navigate(new Uri("https://services.gst.gov.in/services/login"));
现在您可以设置value
属性(包含<input>
元素的内容):
private void OnDocumentLoaded(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.GetElementById("user_pass")
.SetAttribute("value", "the_password");
}
作为替代方案,您也可以发送击键:
webBrowser1.Document.GetElementById("user_pass").Focus();
SendKeys.Send("the_password");
答案 1 :(得分:0)
您尝试设置的字段是密码类型字段,而不是文本类型字段。这不是一个很好的方法,但我建议你这样做:
webBrowser1.Document.GetElementById("user_pass").SetAttribute("value", "ABC123");