我收到了ie脚本错误,我如何处理Watin中的对话框? 我使用以下代码,不起作用,任何建议,链接,提示..... 还尝试禁用脚本调试,但错误没有消失。
- 取代。怎么用Watin做。
- 取代。从winform应用程序中执行相同操作的任何其他方法。
var __ie = new WebBrowserIE(webBrowser1);
var thread = new Thread(() =>
{
var helper = new DialogHandlerHelper();
using (new UseDialogOnce(__ie.DialogWatcher, helper))
{
__ie.GoToNoWait("https://adwords.google.com/o/Targeting/Explorer?__u=1000000000&__c=1000000000&ideaRequestType=KEYWORD_IDEAS#search.none");
System.Threading.Thread.Sleep(5000);
}
foreach (string item in helper.CandidateDialogHandlers)
{
//dialog handler to use, but it does not reach here.
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.IsBackground = true;
thread.Start();
提前谢谢。
答案 0 :(得分:1)
webBrowser1.ScriptErrorsSuppressed = true;
抱歉,伙计们:)谢谢。
答案 1 :(得分:0)
我也有同样的问题,但我不想压制对话框,我想记录他们抛出的错误。
以下函数应处理此问题:
public static String HandleDialog(IE ie)
{
if (ie.HtmlDialogs.Count > 0)
{
HtmlDialog dialog = ie.HtmlDialogs.First();
String text = dialog.Text;
ie.HtmlDialogs.CloseAll();
return text;
}
else
return "";
}
如果任何脚本失败最终发生,我的测试报告会显示“通过警告”。