Watir прокручивает страницу вниз, пока есть еще контент для показа - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу прокручивать страницу вниз, пока есть еще контент для показа.

Например, когда вы нажимаете подписчиков в Instagram, появляется диалоговое окно, в котором загружается больше подписчиков, когда вы прокручиваете страницу вниз, пока есть еще подписчики для показа.

Instagram followers dialog window

Я мог бы сделать это трудным способом, как подсчитать число подписчиков, а затем подсчитать последователей, когда я прокручиваю вниз, и когда они равны, перестанут прокручивать там.

Но я хотел спросить вас, может ли быть лучший способ.

1 Ответ

0 голосов
/ 07 сентября 2018

Вы можете проверить, находится ли прокручиваемый элемент внизу, сравнив его scrollTop и scrollHeight.

Следующая работа:

scrollable = browser.div(class: 'j6cq2') # div with overflow-y=scroll
until browser.execute_script('return arguments[0].scrollTop + arguments[0].clientHeight >= arguments[0].scrollHeight', scrollable) do
    browser.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight', scrollable)
    sleep(1)
end

Обратите внимание, что у меня не было времени найти лучшее решение, чем использование #sleep. Однако, надеюсь, это даст вам представление.

...