Возможно показать анимацию прокрутки на Selenium Python

#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) , и я выбрал цикл for for i in range(300) , и каждый цикл он прокручивается вниз на 1 пиксель. Однако, когда я запускаю цикл, он получается короче ожидаемого назначения. Есть ли причина для этого?