Ватин встраивается в приложение winform - PullRequest
2 голосов
/ 18 мая 2011

Я получаю, т.е. ошибка сценария, как мне обработать диалог в 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();

enter image description here

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Ничего себе, решение оказалось проще, чем выглядело, прежде чем присоединять webrowsercontrol к watin, добавьте

webBrowser1.ScriptErrorsSuppressed = true;

извините, ребята:)

Спасибо в любом случае.

0 голосов
/ 19 августа 2011

У меня тоже была такая же проблема, но я не хотел подавлять диалоги, я хотел записать ошибки, которые они выдавали.

Следующая функция должна обработать это:

    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 "";
    }

Мои тесты сообщают о результате «Проход с предупреждениями», если в конечном итоге возникают ошибки скрипта.

...