不能刮了使用Selenium无限滚动

问题描述 投票:-2回答:1

我刮使用Selenium去年1年鸣叫,但它不能滚动页面超过一个点,指向“返回顶部”。我如何使用Selenium克服这个问题?

这里是我的代码 -

driver=webdriver.Firefox(executable_path="/home/piyush/geckodriver")
url="https://twitter.com/narendramodi"
driver.get(url)
time.sleep(6)

lastHeight = driver.execute_script("return document.body.scrollHeight")
while True:
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(6)
    newHeight = driver.execute_script("return document.body.scrollHeight")
    if newHeight == lastHeight:
         break
    lastHeight = newHeight

这里是输出作为图像

python selenium twitter web-scraping beautifulsoup
1个回答
0
投票

您可以使用类似于下面的东西。尝试用一些超时等待,直到“返回顶部”消失后再继续报废。

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

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
    disappeared = WebDriverWait(driver, 10).until(
        lambda x: not EC.visibility_of_element_located((By.ID, "myDynamicElement"))
    )

    if disappeared:
        print('Continue')
finally:
    driver.quit()
© www.soinside.com 2019 - 2024. All rights reserved.