私のWebページでは、ページは読み込まれますが、ページのサブタブは20秒間クリックできません(これより長い場合もあります)。ページの内容は-
<nav id="subTabHeaders">
<div class="selected" data-name="ab">AB</div>
<div class="" data-name="cd">CD</div>
<div class="" data-name="ef">EF</div>
<div class="" data-name="gh">GH</div>
</nav>
サブタブをクリックする必要があるため、次の方法でこれを試しました-スリープしてからelement.clickを入力します。ただし、サブタブ要素が時間の前後にクリック可能になることがあるため、スリープは理想的な対処方法ではありません。眠りにつく。
睡眠を使って、私は次のことをしました-
element = WAIT.until { driver.find_element(:xpath, ".//*[@id='subTabHeaders']/div[3]")}
sleep 20
element.click
スリープ時間が経過した後に要素がクリック可能であり、スリープ時間が経過した直後に要素をクリックした場合(つまり、(上記のコードを使用して)要素が30秒後にクリック可能になると仮定しますが、20秒後に要素をクリックします)、実際のクリックアクション発生せず、クリックしてもエラーは返されません。
要素がクリック可能かどうかを確認するRubyメソッドはありますか?クリックするタイミングを知るためです。