неопределенный метод `javascript_dialog 'в Watir 2.0.4

Я не могу щелкнуть предупреждение java-скрипта с помощью watir 2.0.4. Это предупреждение, на которое я пытаюсь нажать. И строка кода, которую я использую, чтобы щелкнуть по предупреждению javascript, выглядит так:

browser.javascript_dialog.button('OK').click

Все, что я получаю, это сообщение об ошибке

undefined method `javascript_dialog' for #<Watir::IE:0x46efcb8> (NoMethodError)

введите описание изображения здесь

Нужно ли мне устанавливать какие-то определенные драгоценные камни, чтобы он работал? Я думал, что watir - это все, что мне нужно, и он у меня уже установлен. Разве это не поддерживается Watir 2.0.4? Пожалуйста, найдите мои драгоценности ниже.

Я также попытался подавить предупреждение java scrit, добавив следующие строки, прежде чем нажимать на предупреждение javascript. Это тоже не сработало. Жду вашего ценного вклада. Спасибо!

browser.execute_script "window.confirm = function() { return true; }" 

browser.execute_script "window.alert = function() { return true; }" 

browser.execute_script "window.prompt = function() { return true; }" 

* МЕСТНЫЕ ДРАГОЦЕННОСТИ *

строитель (3.0.0)

commonwatir (2.0.4)

ffi (1.0.10 x86-mingw32)

мотыга (2.12.3)

minitest (1.6.0)

nokogiri (1.5.0 x86-mingw32)

грабли (0.8.7)

раутомизация (0.6.3)

rdoc (2.5.8)

s4t-утилит (1.0.4)

выбор пользователя (1.1.6.1)

вода (2.0.4)

win32-api (1.4.8 x86-mingw32)

win32-процесс (0.6.5)

окна-api (0.4.0)

окна-пр (1.2.1)

xml-простой (1.1.1)


person sridhar249    schedule 11.11.2011    source источник


Ответы (1)


В списке методов Watir RDoc нет .javascript_dialog в списке.

Однако у него есть .java_dialog_window

Я бы попробовал использовать

browser.javascript_dialog_window.button('OK').click

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

person Chuck van der Linden    schedule 11.11.2011
comment
Нет удачи, Чак Ван. Я попробовал browser.javascript_dialog_window.button ('OK'). Щелкните Я получаю сообщение об ошибке undefined method `javascript_dialog_window 'для #‹ Watir :: IE: 0x15f8070 ›(NoMethodError) - person sridhar249; 12.11.2011
comment
как выглядит ваша строка require watir, указываете ли вы какие-либо параметры, например, для использования адаптера Autoit вместо RAutomation? - person Chuck van der Linden; 12.11.2011
comment
Привет, Чак, фургон, я не использую адаптер autoit или Rautomation. Я думал, что browser.javascript_dialog_window.button ('OK'). Click должен работать без необходимости autoit. В верхней части моего файла мне просто требуется вода. Мне нужно что-то еще? Я знаю, что могу заставить его работать, используя следующие строки кода autoit. Причина использования browser.javascript_dialog_window.button ('OK'). Click в том, что я не хочу использовать autouit, поскольку он не работает постоянно. @autoit = ​​WIN32OLE.new ('AutoItX3.Control'); @ autoit.WinWaitActive (Сообщение с веб-страницы,); @ autoit.Send ({Пробел}) - person sridhar249; 13.11.2011
comment
Я считаю (если вы проверите источник) эта команда использует RAutomation под капотом, поэтому у меня вопрос, был ли он настроен на конкретный адаптер. Если вы ничего не установили, будет использоваться значение по умолчанию. Однако мне странно, что вы не видите этот метод ... Я смотрю на исходный код прямо сейчас (в моей системе это dialog.rb, который находится в C: \ Rubies \ Ruby192 \ lib \ ruby ​​\ gems \ 1.9. 1 \ gems \ watir-2.0.4 \ lib \ watir \ dialogs) метод определяется вместе с псевдонимами для: dialog и: javascript_dialog. - person Chuck van der Linden; 15.11.2011
comment
Эй ... На моей машине в папке C: \ Ruby192 \ lib \ ruby ​​\ gems \ 1.9.1 \ gems \ watir-2.0.4 \ lib \ watir \ dialogs я вижу только file_field.rb и javascript.rb. Я не вижу здесь dialog.rb. Я даже попробовал gem удалить watir, а затем gem install watir -v 2.0.4. Даже тогда я вижу только file_field.rb и javascript.rb. Я не понимаю, почему на моем компьютере отсутствует файл dialog.rb. Как я могу получить dialog.rb? - person sridhar249; 15.11.2011
comment
Одна интересная вещь (по крайней мере для меня :)). Я вижу функции javascript_dialog_window и javascript_dialog (opts = {}) внутри файла javascript.rb. Это может помочь? - person sridhar249; 15.11.2011
comment
Я думаю, что ошибаюсь, этот материал находится в javascript.rb Я думаю, что смотрел на имя каталога, когда набирал имя файла (неправильно) .. Так что похоже, что у вас правильный файл ... Хорошо, следующий вопрос .. Я иногда видел (из-за некоторых вещей безопасности в IE), когда при смене страниц он фактически закрывает текущую вкладку и открывает новую с другим контекстом безопасности, это прозрачно для пользователя, но может вызвать watir, чтобы потерять соединение с браузером. В тот момент, когда появляется диалоговое окно, можете ли вы сделать что-нибудь простое, например browser.title, или это тоже не удается? - person Chuck van der Linden; 15.11.2011