Watin Runscript не ждет

#c# #visual-studio #watin

#c# #visual-studio #watin

Вопрос:

В Watin, как у нас для методов button.Click() и button.ClickNoWait() . Как мы можем получить это для ie.Runscript("Script") .

При запуске скрипта фактически открывается модальное всплывающее окно, поскольку NoWait или эквивалент недоступен, я не могу обработать модальное всплывающее окно : (

Кто-нибудь, пожалуйста, может предложить мне.

Ответ №1:

Один из способов обойти это — обернуть код вашего скрипта функцией settimeout () JavaScript, а затем запустить ее через WatiN.

 string timed = string.Format("setTimeout("{0}", 500);", script);

Document.RunScript(timed);                        
  

Комментарии:

1. Спасибо за быстрый ответ. Я пробовал, но безуспешно, потому что я открываю модальное всплывающее окно. Следующий оператор не выполняется, пока я не закрою всплывающее окно.

2. Это интересно. У меня была точно такая же проблема, и открытие с помощью setTimeout () сработало как по волшебству. Появилось модальное всплывающее окно, но выполнение скрипта WatiN продолжалось. Это позволило мне подключиться к нему и манипулировать им.

3. На самом деле это также код / решение, которое используется для ClickNoWait внутри WatiN 🙂 Возможно, в будущей версии будет добавлен RunScriptNoWait, чтобы сделать это частью общедоступного API WatiN.