在 WebBrowser 中提交 HTML 表单
Submitting HTML form in WebBrowser
我正在使用以下代码在我的 WebBrowser
中提交表单:
private void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (!string.IsNullOrEmpty(wbMain.Url.AbsoluteUri))
{
wbMain.Document.GetElementById("dp").SetAttribute("checked", "checked");
MessageBox.Show("checked");
wbMain.Document.GetElementById("frm").InvokeMember("submit");
}
}
它工作完美,但删除 MessageBox
表单后不再提交。不知道为什么,可能是表单未加载完成时调用提交?
你有什么建议?
我遇到了类似的问题,但不幸的是没有弄清楚到底出了什么问题。
看起来调用 MessageBox.Show() 会触发一系列事件,这使得 WebBrowser "update" 成为它的状态。
我的解决方案不是调用成员,而是执行适当的 javascript。
你试过了吗?
while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
我正在使用以下代码在我的 WebBrowser
中提交表单:
private void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (!string.IsNullOrEmpty(wbMain.Url.AbsoluteUri))
{
wbMain.Document.GetElementById("dp").SetAttribute("checked", "checked");
MessageBox.Show("checked");
wbMain.Document.GetElementById("frm").InvokeMember("submit");
}
}
它工作完美,但删除 MessageBox
表单后不再提交。不知道为什么,可能是表单未加载完成时调用提交?
你有什么建议?
我遇到了类似的问题,但不幸的是没有弄清楚到底出了什么问题。 看起来调用 MessageBox.Show() 会触发一系列事件,这使得 WebBrowser "update" 成为它的状态。
我的解决方案不是调用成员,而是执行适当的 javascript。
你试过了吗?
while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }