Загрузка следующей страницы отзывов осуществляется асинхронно.Это может привести к попытке прочитать отзывы, пока они находятся в процессе изменения.После нажатия кнопки подкачки вам нужно дождаться окончания загрузки списка отзывов.
Вероятно, есть несколько способов обнаружить это.В следующем примере ожидается обновление элемента управления подкачкой до нового номера страницы.
paginator_list = browser.ul(class: 'paginator-list')
last_page = paginator_list.button(aria_label: true, index: -1).text.to_i
1.upto(last_page) do |i|
browser.divs(class: 'review-body-text').each do |comment|
review= Review.new
review.text=comment.text
product.reviews<<review
review.save
end
unless i == last_page
browser.button(text: 'Next Page').click
browser.wait_until do
current = paginator_list.button(class: 'active').text.to_i
current == i + 1
end
end
end