C#Watin - 每当浏览器抛出弹出窗口时跳过迭代(来自网页的消息)

时间:2013-06-22 10:42:44

标签: c# watin

Watin无法用IE 9捕获浏览器弹出窗口。相反,如果抛出这样的弹出窗口,我想跳过它并继续其余的程序。是否有可能以这种方式跳过?

弹出窗口是JavaScript弹出窗口。

1 个答案:

答案 0 :(得分:0)

你提到Popup是JS弹出窗口,你不能忽略它们并继续浏览器主窗口变亮,控件会弹出弹出消息。

你可以尝试

var browser = new IE();
var url = "someurl";
browser.GoTo(url);

//在某些导航后弹出aapers

//弹出窗口时控件不会自动返回代码并在IE忙碌异常时给出超时。

所以我们需要在这里使用

somebtton.ClickNoWait() //In case of Button Click

browser.GoToNoWait()   // In case of pop up appearing just after navigation.


            //Finds the alert dialog if it appears
        AlertDialogHandler AlertDialog = new AlertDialogHandler();
        try
        {
            //Code for checking if the case number is invalid and a dialog box appears.
            Settings.AutoStartDialogWatcher = true;
            Settings.AutoCloseDialogs = true;

            browser.AddDialogHandler(AlertDialog);

            AlertDialog.WaitUntilExists();

            //If alert dialog is found then close the dialog and log error
            if (AlertDialog.Exists())
            {

                //Click OK button of the dialog so that dialog gets closed
                AlertDialog.OKButton.Click();
                browser.WaitForComplete();
                browser.RemoveDialogHandler(AlertDialog);                    

            }
        }
        catch
        {
                //Removes the dialog handler if the Dialog dosen't appear within 30 secs.
                browser.RemoveDialogHandler(AlertDialog);               
        }

尝试一下,如果您仍然遇到问题,请显示一些代码,例如您正在做的事情。