在WebBrowser中提交HTML表单

时间:2015-01-07 05:10:46

标签: c# winforms browser

我使用以下代码在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表单后不再提交。我不知道为什么,也许是因为在表单未满载时调用了提交?

你有什么建议?

1 个答案:

答案 0 :(得分:-1)

我遇到了类似的问题,但很遗憾没有弄清楚到底出了什么问题。 它看起来像调用MessageBox.Show()触发一系列事件,这使得WebBrowser"更新"它的州。

我的解决方案不是调用成员,而是执行适当的javascript。

你试过这个吗?

while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }