Watin - IE8 зависает на FileUpload.Set - PullRequest
0 голосов
/ 21 июня 2009

Всякий раз, когда я вызываю FileUpload.Set, IE8 открывает окно браузера файлов и просто сидит там, не набирая текста. Это на Windows XP, и он работал нормально, пока я не обновился с Ie7 до IE8. Кто-нибудь еще сталкивался с этим?

Ответы [ 3 ]

1 голос
/ 22 июня 2009

Оказывается, эта строка в источнике WatiN была проблемой: if (Process.GetProcessById (window.ProcessID) .ProcessName! = "iexplore") return;

По какой-то причине процесс iexplore на этом компьютере отображается как "IEXPLORE" во всех заглавных буквах. Добавление .ToLower () к имени процесса решает проблему.

edit: похоже, что об этой ошибке уже сообщалось.

0 голосов
/ 02 декабря 2010

Я бы хотел опубликовать обновление для этой проблемы, поскольку оно снова появилось в ОС Win7.

Если у вас возникла та же проблема в последней версии WatiN, вы можете переопределить функцию CanHandleDialog в FileUploadDialogHandler классе:

public override bool CanHandleDialog(Window window, System.IntPtr mainWindowHwnd)
{
   return true;
}

Это не чистое решение, но оно простое и работает.

0 голосов
/ 21 июня 2009

Из-за того, как WatiN ищет диалоговое окно (по номеру стиля), понятно, что IE8 будет сломан в версиях менее 2.0. Вы можете попробовать это с бета-версией 2.0.

Кроме того, вы можете погрузить номера стилей в FileUpload DialogHandler и добавить номера стилей для IE7 и 8 (96CC20C4 и 96CC02C4).

...