c# Watin -当浏览器抛出一个弹出窗口(来自网页的消息)时跳过迭代
本文关键字:网页 迭代 消息 窗口 一个 Watin 浏览器 | 更新日期: 2023-09-27 18:19:25
Watin无法捕捉IE 9的浏览器弹出窗口。相反,我想跳过它,并继续与程序的其余部分,如果这样的弹出被抛出。可以这样跳过吗?
Popups是JavaScript的弹出窗口
你提到的弹出窗口是JS弹出窗口,你不能忽略它们,继续作为浏览器主窗口变亮,控件得到弹出消息
你可以试试
var browser = new IE();
var url = "someurl";
browser.GoTo(url);
//在一些导航之后出现一个弹出窗口
//当popupappear控件不自动返回代码并在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);
}
尝试一下,如果你仍然面临这个问题,请显示一些类似于你正在做的代码。