#python #selenium
#python #селен
Вопрос:
Я видел сообщения об использовании функции sleep перед прокруткой до элемента, но мне было интересно, возможно ли на самом деле показать процесс прокрутки, вместо жесткого сокращения до элемента. Я хочу, чтобы скрипт python прокручивался так, как если бы мы использовали мышь для прокрутки страницы. Пока у меня есть строка прокрутки:
driver.implicitly_wait(5)
driver.execute_script("window.scrollTo(0, 1000)")
который работает, но просто сильно урезает страницу.
Ответ №1:
Ответ был намного проще, чем я думал.
from selenium import webdriver
path = 'D:codingchromedriver.exe'
driver = webdriver.Chrome(path)
driver.get('https://selenium-python.readthedocs.io/getting-started.html#simple-usage') #ANY WEBSITE INSIDE BRACKETS
for i in range(1000):
browser.execute_script("window.scrollBy(0, 1)")
Кажется, это работает отлично, единственным недостатком является то, что вы не можете указать продолжительность прокрутки, только отрегулируйте пиксели.
Комментарии:
1. Я использовал консоль для проверки элемента и тестировал позицию, в которую я хочу, чтобы браузер прокручивался, скажем, например, я выбрал прокрутку
window.scrollBy(300)
, и я выбрал цикл forfor i in range(300)
, и каждый цикл он прокручивается вниз на 1 пиксель. Однако, когда я запускаю цикл, он получается короче ожидаемого назначения. Есть ли причина для этого?