Обработка всплывающего окна javascript в watir - PullRequest
1 голос
/ 04 ноября 2011

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

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

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

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

1 Ответ

1 голос
/ 05 ноября 2011

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

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

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

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

...