昨日、このリンクが有効になっているかどうかを判断し、有効になるまで待ってクリックしました。Cucumber + Ruby + Watir + Page-Object gem を使用しています。リンクは次のようになります。
<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 gem でメソッドを使用すると、すべての要素で使用できるようです。しかし、こちらの Watir ドキュメントで同じメソッドを探していると、ボタン、選択、および入力でのみ使用できるようです。
それで、「有効?」があるのだろうか?リンク (アンカー) のメソッドと、存在する場合はその使用方法。この問題を明確にするのを手伝ってもらえますか? どうもありがとうございました!