WatiN с веб-браузером - PullRequest
       33

WatiN с веб-браузером

1 голос
/ 15 сентября 2010

Я использую следующий код для привязки watin к веб-браузеру в winform.

Dim w As IE = New IE(WebBrowser1.ActiveXInstance)
Settings.AutoStartDialogWatcher = False
w.GoTo("http://google.com")

Я вижу из wireshark, что страница загружается, но форма останавливается до тех пор, пока не будет выдано исключение «Тайм-аут, когда Internet Explorer занят».

Есть ли способ привязать watin к элементу управления веб-браузера?

Ответы [ 2 ]

2 голосов
/ 15 сентября 2010

Прежде всего, я думаю, что эта строка:

Settings.AutoStartDialogWatcher = False

должна быть в начале, до создания IE экземпляра.

Ваш код будет работать, если вы запустите егов отдельной теме.

Код на C # (извините):

var thread = new Thread(() =>
{
    Settings.AutoStartDialogWatcher = false;
    var ie = new IE(webBrowser1.ActiveXInstance);
    ie.GoTo("http://www.google.com");
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
0 голосов
/ 15 сентября 2010

Если я использую этот код, он работает

ie = New IE(WebBrowser1.ActiveXInstance)
ie.GoToNoWait("http://google.com")
While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
  Application.DoEvents()
End While

Если это не лучшее решение, но оно работает для меня

...