3

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

我们已经尝试了基本的身份验证步骤。我们甚至尝试过“http://username: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();

       }

    }

请帮忙。

4

1 回答 1

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;
于 2016-03-02T19:02:33.550 回答