一尘不染

如何通过Selenium和Python在页面上向下滚动?

selenium

尝试向下滚动到页面底部
https://silpo.ua/offers/?categoryId=13,
但没有结果(没有动静)

我的代码:

import bs4
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

URL = "https://silpo.ua/offers/?categoryId=13"
driver = webdriver.Firefox()
driver.get(URL)

page = driver.find_element_by_tag_name("html")
page.send_keys(Keys.PAGE_DOWN)

html = driver.page_source

阅读 274

收藏
2020-06-26

共1个答案

一尘不染

有几种方法可以向下滚动到页面底部。根据URL https://silpo.ua/offers/?categoryId=13版权
信息位于页面底部。因此,您可以使用scrollIntoView()方法在视口中滚动
版权 消息,如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

URL = "https://silpo.ua/offers/?categoryId=13"
driver = webdriver.Firefox(executable_path=r'C:\WebDrivers\geckodriver.exe')
driver.get(URL)
copyright = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.copyrights")))
driver.execute_script("return arguments[0].scrollIntoView(true);", copyright)
2020-06-26