Обработка всплывающего окна javascript в watir

Я использую autoit для обработки всплывающего кода javas script как

autoit.WinWaitActive("[Class:#32770]")

result =autoit.ControlClick("[Class:#32770]","","Button1")

Но когда я нажимаю кнопку, чтобы открыть всплывающее окно, оно ждет более длительное время, и если пользователь выполняет операции в другом окне, оно не пойдет дальше. Только когда пользователь нажимает на текущее окно, оно работает. Означает, что пользователь должен быть сосредоточен на браузере IE во время всплывающего окна javascript.


person Paddy M    schedule 04.11.2011    source источник
comment
Вы можете рассмотреть возможность перехода на Watir 2.0.x и использование RAutomation вместо AutoIt.   -  person Chuck van der Linden    schedule 09.11.2011


Ответы (1)


Большинство инструментов, которые работают на уровне пользовательского интерфейса ОС (как это делает autoit), требуют, чтобы окно, над которым нужно работать, имело фокус, чтобы такие вещи, как щелчки или ввод с клавиатуры, заканчивались в правильном окне.

Вы, вероятно, захотите сначала установить фокус, а затем попытаться щелкнуть, если вы используете autoit

Существуют и другие методы работы с всплывающими окнами JS, особенно с более современными версиями (1.9.0 или выше) watir, которые более элегантны. См. страницу всплывающих окон JavaScript в Watir Wiki.

Имейте в виду, что большинство решений, которые вы видите, предполагают, что браузер будет иметь фокус. Если вам нужно запускать сценарии одновременно с другой работой и вы не хотите, чтобы то, что вы делаете, мешало, я могу порекомендовать использовать виртуальную машину для запуска сценариев.

person Chuck van der Linden    schedule 04.11.2011
comment
& autoit занимает много времени, чтобы открыть окно javascript и запустить скрипт? кто-нибудь знает, почему так много времени требуется, чтобы открыть это всплывающее окно? - person Paddy M; 07.11.2011