如何使用Watin IE处理Windows安全警报对话框

时间:2010-11-25 10:30:58

标签: c# .net proxy dialog watin

我正在尝试使用WatIN IE自动化网站。 由于网站在几次请求后禁止了ip。因此,当ip被禁止时,我设置了一个bool ipbanned = true。在那种情况下,我希望改变IP。 SetProxy方法使用端口成功更改ip地址。 但是根据下一个要求我会看到这个屏幕: -

alt text 注意: - 第一个红色条带显示IP地址,第二个红色条带显示服务器名称

如何在程序中设置此对话框中的用户名和密码,以便用户无法看到此框并且设置正确

以下是我正在使用的代码段: -

    private void Start_Thread()
    {
        Thread pop = new Thread(populate);
        pop.SetApartmentState(ApartmentState.STA);
        pop.Start();

    }
    bool ipbanned=false;
    private void populate()
    {

            if(ipbanned)
                SetProxy(proxies[0]);

           ///I wish to handle the dialog box here.

            WatiN.Core.Settings.MakeNewIeInstanceVisible = false;
            WatiN.Core.Settings.Instance.AutoMoveMousePointerToTopLeft = false;
            using (IE browser = new IE(URLs.mainurl))
            {
                    ///code
            }
    }
    private void SetProxy(string proxy)
    {
        //code which successfully changes the ip address.

    }

任何帮助都将深表感谢。 谢谢:)

1 个答案:

答案 0 :(得分:1)

您必须使用 AddDialogHandler 来处理对话框。

您可以参考SO问题watin-logondialoghandlers-not-working-correctly-in-windows-7获取代码示例