2017-08-24 118 views
0

的所有元素很久沒用了搜索,我想提出以下後:水豚等待頁面加載完全用Ruby

。在Capybara返回{「status」=>「success」}後特別會發生什麼?它是否等到所有元素都被加載(如JS等)?或者它只是處理HTTP 200響應並將其發回而不在乎?

。除了設置超時之外,還有其他方法可以使水豚等待頁面完全加載所有元素和功能嗎?

例如,有沒有什麼方法可以告訴水豚:「JS是在訪問特定頁面時執行的?」或者「頁面加載完成了嗎?」。

我會感激任何想法,謝謝!

回答

0

visit行爲是依賴於驅動程序的,並且不保證頁面在其返回時已完全加載(但您完全定義)。水豚的等待方法是那些等待特定要素的方法。所以

find(:css, '#blah') 

將等待(最多Capybara.default_max_wait_time秒)以「嗒嗒」的ID的元素顯示在頁面上。如果您對所訪問的頁面結構以及您期望的頁面結構不瞭解,那麼唯一的辦法就是通過超時。