c# Win Form - 无法在 WebBrowser 控件中更改 "input" 的文本
c# Win Form - Unable to change text of an "input" in WebBrowser control
我正在使用 Webbrowser
控件通过以下代码
登录此 page
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");
谁能告诉我怎么做?
您尝试设置的字段是密码类型字段,而不是文本类型字段。这不是一个好方法,但我建议你这样做:
webBrowser1.Document.GetElementById("user_pass").SetAttribute("value", "ABC123");
您首先必须等待页面完全加载:
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");
我正在使用 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");
谁能告诉我怎么做?
您尝试设置的字段是密码类型字段,而不是文本类型字段。这不是一个好方法,但我建议你这样做:
webBrowser1.Document.GetElementById("user_pass").SetAttribute("value", "ABC123");
您首先必须等待页面完全加载:
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");