Как работать с новым браузером, всплывающим после нажатия кнопки js в Watir? - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь использовать watir в ruby, я могу открыть браузер, ввести некоторые значения в форму имени пользователя / пароля, но затем я нажимаю ввод, затем нажимаю кнопку отправки (на самом деле это нажатие ввода, этоэто проще для написания кода), для нашего приложения появятся новые окна браузера, и я обнаружил, что не могу управлять новым браузером.Что я могу сделать?

В дополнение к моей проблеме, в новом окне браузера не было ни меню, ни панели инструментов, ни панели навигации, поэтому я не могу открыть панель инструментов разработчика IE, чтобы найти имя элемента на веб-странице.в новом браузере.

Кстати, мое приложение может поддерживать только IE.


Я пробовал метод присоединения, но он работает:

C:/Ruby187/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/ie-class.rb:302:

в файле attach_browser_window: невозможно найти окно с заголовком(? -mix: новый заголовок браузера) (Watir :: Exception :: NoMatchingWindowFoundException)

    from C:/Ruby187/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/ie-class.rb

: 150: в `_attach_init '

    from C:/Ruby187/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/ie-class.rb

: 144: в` attach'из test1.rb: 36

Ответы [ 3 ]

1 голос
/ 12 апреля 2011

Метод присоединения может обрабатывать новое окно. http://rdoc.info/gems/watir/1.8.1/Watir/IE.attach

например

browser = Watir::Browser.new
browser.text_field(:id,'username').set 'username')
browser.button(:index,1).click
# popped up the new window
popup = Watir::Browser.attach(:title,'Foobar')

Если вы будете использовать только всплывающее окно, вместо этого вы можете перезаписать переменную браузера.

0 голосов
/ 12 апреля 2011

хорошо, возможно, есть такое решение, которое могло бы работать:

b = Watir::Browser.start "http://yourpage"

b.execute_script("document.getElementById('your-image-id').onClick = function() {}")

, поэтому идея состоит в том, чтобы получить это изображение и переписать его событие onclick

0 голосов
/ 12 апреля 2011

Вы можете попытаться аутентифицироваться так:

examplehost.com / аутентификации? Пользователя = Foo & пароль = бар

Вы также можете попытаться удалить атрибут «target» (который, вероятно, равен «_blank») из этой формы аутентификации (я почти уверен, что вы сможете добиться этого с помощью watir)

EDIT:

Также есть опция:

ie2 = Watir::IE.attach(:title, ‘New Ie window, opened upon form submit’)

он также может прикрепляться: url вместо: title

...