在我的网页上,页面加载但页面的子选项卡在 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 秒后立即点击元素),实际的点击动作不会发生并且 click 也不会返回任何错误。
是否有 Ruby 方法来检查元素是否可点击?这样我们就会知道什么时候点击。