ну, на самом деле, когда вы нажимаете, запускаются события javascript, но они могут быть не теми, которые ищет конкретный элемент. А иногда элемент нужно сначала привести в состояние, когда вы можете щелкнуть по нему, например, наведя курсор мыши.
поэтому хитрость обычно заключается в том, чтобы выяснить, какие события нужно запускать (см. ответ Желько), а затем использовать метод .fireevent для запуска этих событий против элементов, которые должны их видеть, в требуемом порядке.
много раз вам в значительной степени приходится перепроектировать то, что делают разработчики, глядя, какие элементы в html ищут какие события.
В этом конкретном случае, если вы намерены нажать СИНЮЮ кнопку «Узнать больше», которая, кажется, находится поверх какого-то снимка экрана, то изучение HTML или DOM показывает, что у него есть удобное значение идентификатора, которое можно использовать. Вы также можете видеть, что он «запрограммирован» реагировать на событие onclick, и, что более важно, он открывает новое модальное окно (в данном случае div, который выглядит как всплывающее окно) onclick="new Modal('learn_more_content', {top: 110, modalClass: 'borderless'}).show()
. поэтому следующий код должен работать для запуска модального
browser.button(:id, "learn_more_btn").click
Затем нажмите зеленую кнопку «Начать» (которых несколько, поэтому нам нужен способ указать, какой из них)
browser.p(:class, "cta").button(:class, "green button has_arrow").click
person
Chuck van der Linden
schedule
25.02.2011