В настоящее время я использую selenium webdriver для анализа страницы друзей пользователей facebook и извлечения всех идентификаторов из сценария AJAX. Но мне нужно прокрутить вниз, чтобы найти всех друзей. Как я могу прокрутить вниз в Selenium. Я использую питон.
python
selenium
selenium-webdriver
automated-tests
user2523364
источник
источник
Ответы:
Ты можешь использовать
где Y - высота (на fullhd мониторе 1080). (Спасибо @lukeis)
Вы также можете использовать
для прокрутки вниз страницы.
Если вы хотите перейти на страницу с бесконечной загрузкой , например, в социальных сетях, facebook и т. Д. (Спасибо @Cuong Tran)
Другой метод (спасибо Хуансу) - выбрать объект и
источник
scrollHeight
, что это значит и как вообще работает?Если вы хотите прокрутить вниз бесконечную страницу (например, linkedin.com ), вы можете использовать этот код:
Ссылка: https://stackoverflow.com/a/28928684/1316860
источник
SCROLL_PAUSE_TIME
разное, у меня это занимает около 2 секунд.Вы можете использовать
send_keys
для имитации нажатия клавишиEND
(илиPAGE_DOWN
) (которое обычно прокручивает страницу):источник
тот же метод, что и здесь :
в Python вы можете просто использовать
(Y - вертикальное положение, до которого нужно прокрутить)
источник
это помогло, когда я пытался получить доступ к невидимой «ли».
источник
location_once_scrolled_into_view
следует вызывать без()
него,location_once_scrolled_into_view
- это Pythonproperty
. см. исходный код здесь: selenium / webelement.py на d3b6ad006bd7dbee59f8539d81cee4f06bd81d64 · SeleniumHQ / seleniumДля моей цели я хотел больше прокручивать вниз, не забывая о положении окон. Мое решение было похожим и использовалось
window.scrollY
который перейдет в текущую позицию прокрутки y + 200
источник
Вот как вы прокручиваете страницу вниз:
источник
Самый простой способ решить эту проблему - выбрать ярлык и отправить:
Надеюсь, что это работает!
источник
Ни один из этих ответов не помог мне, по крайней мере, не для прокрутки страницы результатов поиска facebook, но после длительного тестирования я обнаружил это решение:
источник
SCROLL_PAUSE_TIME
в stackoverflow.com/a/27760083/7326714 значение2
, он работает нормально, и вы прокручиваете вниз в 100 раз быстрее.При работе с YouTube плавающие элементы дают значение «0» в качестве высоты прокрутки, поэтому вместо использования «return document.body.scrollHeight» попробуйте использовать этот «return document.documentElement.scrollHeight», отрегулируйте время паузы прокрутки в соответствии с вашим Интернетом. скорость, иначе он будет работать только один раз, а затем прервется.
источник
Я искал способ прокрутки динамической веб-страницы и автоматической остановки при достижении конца страницы, и нашел этот поток.
Сообщение @Cuong Tran с одной важной модификацией было тем ответом, который я искал. Я подумал, что другие могут найти эту модификацию полезной (она явно влияет на работу кода), отсюда и этот пост.
Модификация заключается в перемещении оператора, который фиксирует высоту последней страницы внутри цикла (так, чтобы каждая проверка сравнивалась с высотой предыдущей страницы).
Итак, код ниже:
(Есть еще одна модификация, где оператор break находится внутри другого условия (в случае, если страница «заедает»), которое можно удалить).
источник
Этот код прокручивается вниз, но не требует ожидания каждый раз. Он будет постоянно прокручиваться, а затем останавливаться внизу (или по истечении времени ожидания)
Это намного быстрее, чем каждый раз ждать ответа 0,5–3 секунды, когда ответ может занять 0,1 секунды.
источник
прокрутите загрузочные страницы. Пример: medium, quora и т. Д.
источник
Вот пример фрагмента кода селена, который вы могли бы использовать для таких целей. Он переходит к URL-адресу результатов поиска youtube в «Enumerate python tutorial» и прокручивает вниз, пока не находит видео с заголовком: «Enumerate python tutorial (2020)».
источник
если вы хотите прокрутить в пределах определенного представления / фрейма (WebElement), вам нужно всего лишь заменить «body» конкретным элементом, внутри которого вы собираетесь прокручивать. я получаю этот элемент через getElementById в примере ниже:
это , например, случай на YouTube ...
источник
ScrollTo()
Функция больше не работает. Это то, что я использовал, и он работал нормально.источник
это работает в моем случае.
источник