私は次のコードを持っています:
element :header_upgrade_subscription, :xpath, "//a[text()='Upgrade subscription']"
element :header_change_subscription, :xpath, "//a[text()='Change subscription']"
if header_upgrade_subscription.visible?
change_subscription = header_upgrade_subscription
else
change_subscription = header_change_subscription
end
問題は、header_upgrade_subscription が存在しない場合、次のように失敗することです。
Capybara::ElementNotFound Exception: Unable to find xpath "//a[text()='Upgrade subscription']"
カピバラでは、次のことができることを知っています。
(rdb:1) first(:xpath, "//a[text()='Upgrade subscription']")
nil
存在しない場合は nil を返します。SitePrism 要素に対して「最初の」メソッドを使用するにはどうすればよいですか? これは私が得るものです:
(rdb:1) first(header_upgrade_subscription)
Capybara::ElementNotFound Exception: Unable to find xpath "//a[text()='Upgrade subscription']"
要素が存在しない場合は待機時間がないため、「最初の」メソッドを使用するのが好きです。
ご協力いただきありがとうございます!