likes = @browser.spans(:class => "className")
Это явно не сработает, потому что вы говорите так, как будто имя класса содержит "имя_класса", так что вам лучше писать с регулярным выражением
likes = @browser.spans(:class => /className/)
или использовать другой вариант с небольшим исправлениемтак как вам нужен только span, вам не нужно использовать * вместо использования span
likes = @browser.elements(:xpath, "//span[contains(@class, 'className')]")
Watir обычно ждет полной загрузки страницы, когда вы переходите с одной страницы на другую, нам не нужноиспользуйте любой статический оператор сна, но поскольку вы говорите, что страница загружается больше размаха, когда дело доходит до дна, ваш случай кажется немного другим, я сильно подозреваю, что приведенный выше код выполняется быстро даже до полной загрузки страницы, поэтому введите sleep 5
, чтобы проверить, увеличилось ли увеличениев количестве промежутков, поэтому напишите следующий код с sleep 5
В WATIR для вас есть execute_script
, поэтому вам не нужно использовать селен execute_script
напрямую
@browser.execute_script("window.scrollBy(0,document.body.scrollHeight)")
sleep 5
likes = @browser.elements(:xpath, "//span[contains(@class, 'className')]")