Вчера я работал над определением, была ли эта ссылка включена или нет, ожидая, пока она будет включена, чтобы щелкнуть по ней. Я использую гем Cucumber + Ruby + Watir + Page-Object. Ссылка очень похожа на:
<a id="the_link" href="#" disabled="disabled">Proceed with your order</a>
Как только вы заполните некоторые поля, ссылка активируется, а источник изменится на:
<a id="the_link" href="#">Proceed with your order</a>
Идея состоит в том, чтобы дождаться, пока ссылка активируется таким образом, который работает с кнопками:
def click_on_link
Watir::Wait.until { self.the_link_element.element.enabled? }
self.the_link
end
... но не работает со ссылкой. Я заставил его работать, определяя, существует ли атрибут, следующим образом:
def click_on_proceed_form
Watir::Wait.until { !self.the_link_element.element.attribute_value('disabled') }
self.proceed_form_submit
end
Ищете "включено?" в документации Watir здесь или в гем Page-Object здесь, похоже, он доступен для всех элементов. Но поиск того же метода в документации Watir здесь кажется, что это всего лишь доступно для кнопок, выбора и ввода.
Итак, интересно, есть ли «включено»? метод для ссылок (анкоров) и, если он существует, как его использовать. Не могли бы вы помочь прояснить этот вопрос, пожалуйста? Большое тебе спасибо!