我使用以下代码在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
表单后不再提交。我不知道为什么,也许是因为在表单未满载时调用了提交?
你有什么建议?
答案 0 :(得分:-1)
我遇到了类似的问题,但很遗憾没有弄清楚到底出了什么问题。 它看起来像调用MessageBox.Show()触发一系列事件,这使得WebBrowser"更新"它的州。
我的解决方案不是调用成员,而是执行适当的javascript。
你试过这个吗?
while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }