Использование веб-драйвера Ruby (Selenium 2.0) для перехода по ссылке на JavaScript - PullRequest
1 голос
/ 25 июня 2010

Используя ruby, как я могу заставить веб-драйвер щелкнуть ссылку javascript?

Ссылка, по которой я пытаюсь щелкнуть:JavaScript с событием keyPress?Если так, кто-нибудь знает синтаксис для этого?У меня были проблемы с поиском хорошего справочника для вебдрайвера - хотя я понимаю, что он, вероятно, станет лучше, когда выйдет из бета-версии.Если у вас есть основания полагать, что один из них будет более подходящим, пожалуйста, дайте мне знать и почему.Он должен иметь возможность нажимать на ссылки JavaScript и отправлять данные формы из электронной таблицы или файла CSV.

Спасибо за помощь!

require 'rubygems'
require 'watir-webdriver'

ff=Watir::Browser.new(:firefox)
ff.goto("http://my-web-address")

#Put your user name. 
ff.text_field(:name,"user").set("my-username")

#Put your password.
ff.text_field(:name,"pass").set("my-passwd")

#Click Sign In button.
ff.button(:value,"Login").click

#Click on Administration tab. <-- This does not work!!
ff.link(:text, "Administration").click

1 Ответ

1 голос
/ 07 декабря 2010

Клик действительно вызовет JavaScript. Вы уверены, что это на самом деле найти ссылку?

Ваш исходный код HTML показывает пробел после слова «Администрирование» Может быть, в этом причина.

Проверьте, если

ff.link(:text, "Administration").exists?

возвращает истину.

Или попробуйте другое совпадение:

ff.link(:class => 'tabOff').click

Примечание: Вы также можете использовать регулярное выражение для текста:, например,

ff.link(:text, /Administration/)

Надеюсь на помощь.

...