How to scroll down on my page through Selenium and Python?

前端 未结 2 1175
無奈伤痛
無奈伤痛 2020-12-03 23:56

Trying to scroll down to the bottom of the page https://silpo.ua/offers/?categoryId=13 but there is no result (no movements)

My code:

import bs4
from         


        
相关标签:
2条回答
  • 2020-12-04 00:51

    There are several approaches to scroll down to the bottom of the page. As per the url https://silpo.ua/offers/?categoryId=13 the copyright message is located at the bottom of the page. So you can use scrollIntoView() method to scroll the copyright message within the Viewport as follows:

    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)
    
    0 讨论(0)
  • 2020-12-04 00:57

    You can move to the copyright class element at the bottom using actions.move_to_element

    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    
    url ="https://silpo.ua/offers/?categoryId=13"
    driver = webdriver.Chrome()
    driver.get(url)
    element = driver.find_element_by_css_selector(".copyrights")
    actions = ActionChains(driver)
    actions.move_to_element(element).perform()
    

    You can vary this, for example, say you wanted to go to last product:

    element = driver.find_elements_by_css_selector(".product-list__item-content")[-1]
    actions = ActionChains(driver)
    actions.move_to_element(element).perform()
    
    0 讨论(0)
提交回复
热议问题