获取当前的webbrowser url或webbrowser内容

时间:2012-06-28 18:21:09

标签: c# winforms browser

我做了一个登录按钮,想检查用户是否登录。我有两种方法可以做到这一点。

  1. 检查webbrowser url是否与url相等(如果用户成功登录url是url1,如果不是,url是url2)
  2. 检查当前的webbrowser内容是否包含单词(例如,如果用户成功登录,则在重定向的页面中应该包含“Thank you”消息)
  3. 我想提一下,一切正常,我唯一的问题是检查他是否登录

    public void Login()
    {
        webBrowser1.Document.GetElementById("username").SetAttribute("value", txtUsername.Text);
        webBrowser1.Document.GetElementById("password").SetAttribute("value", txtPassword.Text);
        foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("input"))
        {
            if (item.OuterHtml.Contains("input_submit"))
            {
                item.InvokeMember("Click");
                break; // Here the webbrowser redirect right?
            }
        }
        if (webBrowser1.Document.Body.InnerText.Contains("Thank you"))
            con = true;
        else
            con = false;
    }
    

1 个答案:

答案 0 :(得分:1)

我建议您使用 HttpRequest 来模拟登录进度,使用 HttpResponse 获取网络服务器响应和内容,并使用全局 CookieContainer 来存储饼干。

当您获得登录成功消息时,您可以使用其他HttpRequest和globval CookieContainer来获取您想要下载或访问的任何网页。

我希望这对你有所帮助。

您可以使用Httpwatch(www.httpwatch.com)观看Internet Explorer如何与WebServer交换数据。您也可以使用IE9 devloper工具执行此操作(在IE9中按F12键)。