C# 在WebBrowser中提交HTML表单
我使用以下代码在我的C# 在WebBrowser中提交HTML表单,c#,winforms,browser,C#,Winforms,Browser,我使用以下代码在我的WebBrowser中提交表单: private void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (!string.IsNullOrEmpty(wbMain.Url.AbsoluteUri)) { wbMain.Document.GetElementById("dp").Se
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.Show()似乎会触发一系列事件,从而使WebBrowser“更新”其状态 我的解决方案不是调用成员,而是执行适当的javascript 你试过这个吗
while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
谢谢你的提示,布拉特:)。实际上我已经找到了答案,并添加了Application.DoEvents()代码>就在提交表单之前。