我正在尝试检索具有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包来等待智能状态。
我使用无头铬硒包。当我手动访问网站并向下滚动时,它会加载更多的iTen,下面显示的while循环中的列表“nome”会更新。当我使用selenium和一个头部浏览器时,它也可以工作。为什么页面没有加载headless?也许这无关紧要,但我也从ua更改了userAgent。随机发送到ua['Chrome']。 我从这里得到的,
问题内容: 我正在构建一个博客类型的页面,并且我希望在用户向下滚动时将项目加载到该页面中,就像Google Reader或Soup.io。您将如何实现这种效果?我看过一些读取页面高度的示例,甚至在窗口上附加了onScroll,以便当用户向下滚动时,我们可以测试一下是否向下滚动足够远以保证可以加载更多项目。Soup.io的实现似乎在向下滚动时删除了旧项,以使浏览器不再处理越来越大的DOM树。哪个Ja
问题内容: 有人可以帮助我使用 Java* 使用 WebDriver 自动 向下滚动功能 吗? *** 就我而言,当我垂直向下滚动鼠标时,对于yahoo邮件就会显示( 可见 )。 问题答案: 您可以使用以下代码垂直向下滚动: 同样,也可以通过将y坐标更改为负值来向上滚动: 您还可以使用以下代码: 对于向下滚动: 向上滚动:
问题内容: 我正在尝试从航班搜索页面中抓取一些数据。 此页面的工作方式如下: 您填写表格,然后单击按钮搜索-可以。当您单击按钮时,您将被重定向到包含结果的页面,这就是问题所在。例如,此页面会持续添加一分钟的结果,这没什么大不了的- 问题是要获得所有这些结果。在实际的浏览器中,您必须向下滚动页面,然后才会显示这些结果。因此,我尝试使用Selenium向下滚动。它可能在页面底部如此之快地向下滚动,或者
我正试图从航班搜索页面中获取一些数据。 此页面的工作方式如下: 您填写表格,然后单击“搜索”按钮-这是确定的。当你点击按钮时,你会被重定向到有结果的页面,问题就在这里。这个页面不断添加结果,例如一分钟,这不是什么大问题-问题是要获得所有这些结果。当您在real browser中时,您必须向下滚动页面并显示这些结果。所以我尝试使用Selenium向下滚动。它在页面底部向下滚动的速度可能非常快,或者它