有没有办法使用webbrowser导航网站而不显示导航页面?

时间:2016-10-30 00:44:56

标签: c# .net winforms

我想要的是它将导航到SignInPage.aspx但不在webbrowser中显示此页面。

private void button1_Click(object sender, EventArgs e)
        {
            statuslabel.Text = "";
            webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
            webBrowser1.Navigate("http://SignInPage.aspx");
        }

        private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser1.DocumentCompleted -= WebBrowser1_DocumentCompleted;
            webBrowser1.DocumentCompleted += WebBrowser2_DocumentCompleted;

            try
            {
                webBrowser1.Document.GetElementById("UserName").InnerText = textBox1.Text.ToString();
                webBrowser1.Document.GetElementById("Password").InnerText = textBox2.Text.ToString();
                webBrowser1.Document.GetElementById("LoginButton").InvokeMember("click");
            }
            catch (Exception err)
            {
                string error = err.ToString();
                webBrowser1.DocumentCompleted -= WebBrowser2_DocumentCompleted;
            }
        }

1 个答案:

答案 0 :(得分:0)

应该使用WebRequest和WebResponse。如果您需要Cookie,隐藏的表单字段等,最好的方法是在Edge或Chrome中运行它,然后使用Fiddler来窥探HTTP流量,以便您可以在程序中重新创建它。 Fiddler甚至可以让你看到HTTPS的结果,这样就可以很容易地找到你需要的所有参数/标题。