如何使用webbrowser控件在弹出窗口中输入用户名和密码

时间:2013-05-27 10:28:07

标签: c# asp.net

我们正在尝试使用C#自动执行网页内容。我们的目标是访问网页并检查/取消选中一些元素。问题是甚至在页面打开之前它提供了一个“Windows安全”弹出窗口,询问用户名和&密码。我们如何在弹出窗口中传递凭据。我们正在使用Web浏览器控制。

我们尝试了基本的身份验证步骤。我们甚至尝试过“ http://用户名:password@mysite.asp [在我们的例子中没有用户名,只有密码]

但它不起作用。我已将chrome设置为我的默认浏览器,因为IE无法执行上述命令。它发生在Chrome中。所以,我将chrome作为默认浏览器。

我们尝试通过下载.dll来使用webkit浏览器控件,但是使用webkitbrowser控件我们无法使用getelementsbyId()访问元素。

守则:

   public Form1()
   {
      InitializeComponent();
   }

    void webBrowser_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgs e)
    {
        bBusy = false;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        NavigateToUrlSync("http://:password@192.168.0.1/RgOptions.asp");

    }
    private void NavigateToUrlSync(string url)
    {
        bBusy = true;
        this.webBrowser1.Navigate(url);


        while (bBusy)
        {
            Application.DoEvents();

       }

    }

请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作,它将适合您

    Uri u = new Uri("http://192.168.0.91");
    UriBuilder ub = new UriBuilder(u);
    ub.UserName = "admin";
    ub.Password = "admin";
    webBrowser1.Url = ub.Uri;