0
我想解析一個網站使用Selenium /水豚。現在它看起來是這樣的:刷新水豚的會話DOM內容
session = Capybara::Session.new(:selenium)
session.visit "https://somesite.com/page1"
element = session.all(:css, '.table .row a').each do |el|
el.click
# get some element's data
session.evaluate_script('window.history.back()')
end
# repeat
問題是,當我試圖從第二頁我在獲取數據,水豚告訴我,Either the element is no longer attached to the DOM or the page has been refreshed.
這絕對是有道理的,但我掙扎找到一種方法來創建一個新的DOM變量並在文檔中解析它。
如果我導航回試圖重複操作並單擊連續的第二個鏈接,則會發生同樣的情況。我想我需要重新創建會話還是有更好的方法?
謝謝你這個偉大的答案。我將用第二個例子 - 我認爲如果直接切換頁面,會節省一些時間。有關如何在完成一頁HREF時在頂級分頁頁面之間切換的建議? –