当前位置: 首页 > 面试题库 >

硒:检索向下滚动时加载的数据

潘佐
2023-03-14
问题内容

我正在尝试检索具有ajax加载向下滚动功能alla
Twitter的页面中的元素。由于某些原因,此功能无法正常运行。我添加了一些打印语句以对其进行调试,并且我总是得到相同数量的项目,然后函数返回。我在这里做错了什么?

wd = webdriver.Firefox()
wd.implicitly_wait(3)

def get_items(items):
    print len(items)
    wd.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    # len(items) and len(wd.find_elements-by...()) both always seem to return the same number
    # if I were to start the loop with while True: it would work, but of course... never end
    while len(wd.find_elements_by_class_name('stream-item')) > len(items):
        items = wd.find_elements_by_class_name('stream-item')
        print items
        wd.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    return items

def test():
    get_page('http://twitter.com/')
    get_items(wd.find_elements_by_class_name('stream-item'))

问题答案:

尝试介于两者之间

wd = webdriver.Firefox()
wd.implicitly_wait(3)

def get_items(items):
    print len(items)
    wd.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    # len(items) and len(wd.find_elements-by...()) both always seem to return the same number
    # if I were to start the loop with while True: it would work, but of course... never end

    sleep(5) #seconds
    while len(wd.find_elements_by_class_name('stream-item')) > len(items):
        items = wd.find_elements_by_class_name('stream-item')
        print items
        wd.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    return items

def test():
    get_page('http://twitter.com/')
    get_items(wd.find_elements_by_class_name('stream-item'))

注意:硬睡眠只是为了证明它有效。请改用waits包来等待智能状态。



 类似资料:
  • 问题内容: 我正在尝试检索具有ajax加载向下滚动功能alla Twitter的页面中的元素。由于某种原因,此功能无法正常运行。我添加了一些打印语句以对其进行调试,但我总是得到相同数量的项目,然后函数返回。我在这里做错了什么? 问题答案: 尝试介于两者之间 注意:硬睡眠只是为了证明它有效。请改用waits包来等待智能状态。

  • 问题内容: 我正在构建一个博客类型的页面,并且我希望在用户向下滚动时将项目加载到该页面中,就像Google Reader或Soup.io。您将如何实现这种效果?我看过一些读取页面高度的示例,甚至在窗口上附加了onScroll,以便当用户向下滚动时,我们可以测试一下是否向下滚动足够远以保证可以加载更多项目。Soup.io的实现似乎在向下滚动时删除了旧项,以使浏览器不再处理越来越大的DOM树。哪个Ja

  • 我正试图从这个链接中抓取评论: https://www.google.com/search?q=google回顾第二次机会治疗40街 对于我使用以下代码加载页面的内容 页面加载很好,它没有向下滚动,我已经对其他网站(如 linkedn)使用了相同的代码,并且它在那里工作。

  • 我使用无头铬硒包。当我手动访问网站并向下滚动时,它会加载更多的iTen,下面显示的while循环中的列表“nome”会更新。当我使用selenium和一个头部浏览器时,它也可以工作。为什么页面没有加载headless?也许这无关紧要,但我也从ua更改了userAgent。随机发送到ua['Chrome']。 我从这里得到的,

  • 本文向大家介绍vim 向下滚动,包括了vim 向下滚动的使用技巧和注意事项,需要的朋友参考一下 示例 命令 描述 Ctrl+E 向下滚动一行。 Ctrl+D 向下滚动半屏(可使用该scroll选项配置)。 Ctrl+F 向下滚动全屏。 z+ 在窗口顶部的窗口下方绘制第一行。

  • 本文向大家介绍jQuery向下滚动即时加载内容实现的瀑布流效果,包括了jQuery向下滚动即时加载内容实现的瀑布流效果的使用技巧和注意事项,需要的朋友参考一下 下拉滚动条或鼠标滚轮滚动到页面底部时, 动态即时加载新内容。 后台用 json 传输数据, 示例程序中只写了示例数组。数据也只设置了两个属性, 需根据实际应用改写。 页面用了 ul li 做为容器, 每个 li 表示一列 JS代码 下面再给