【问题标题】:Selenium scrolling down dynamic siteSelenium 向下滚动动态站点
【发布时间】:2020-08-11 14:18:48
【问题描述】:

我正在尝试使用 python selenium 向下滚动一个 youtube 网站。我的问题是,当我运行下面的代码来提取页面的高度时,我总是得到一个零。

pageEnd = driver.execute_script("return document.body.scrollHeight")

以下代码设法向下滚动,但我想用 pageEnd 变量替换 10000 值并使用 while 循环对其进行迭代。

driver.execute_script("window.scrollTo(0, 10000)")

【问题讨论】:

    标签: python selenium scroll youtube comments


    【解决方案1】:

    试试这个

    for i in range(1,4):
          #scroll
          driver.execute_script('window.scrollTo(0, document.bodt.scrollHeight)')
           
          #sleep a little bit
          time.sleep(3)
    

    它将滚动并等待内容加载并根据范围号再次滚动

    【讨论】:

    • 这个不起作用,因为 body.scrollHeight 总是返回零值,从而使页面保持在顶部。谢谢
    【解决方案2】:

    您可以将以下代码与while 循环一起使用-

    from selenium.webdriver.common.keys import Keys
    
    yourElement.send_keys(Keys.PAGE_DOWN)
    

    【讨论】:

    • 我试试这个.. 谢谢
    • 我必须在“yourElement”部分放置什么?因为我用“驱动程序”替换了它,但它返回一个错误,说 WebDriver 没有 send_keys 属性
    • 你必须在那里使用webelement。
    • driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN) 使用此代码。
    • 我刚刚试了一下,它不会一直滚动到底部,而是向下滚动一页
    猜你喜欢
    • 2017-11-06
    • 2011-06-05
    • 2021-09-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多