【发布时间】:2013-01-29 13:02:03
【问题描述】:
我正在尝试检索页面中的元素,该页面具有 ajax-load 向下滚动功能 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'))
【问题讨论】:
-
不能正常工作是什么意思?有什么错误信息吗?
-
不,它根本没有找到在我执行向下滚动时加载的数据,因此 while 循环中的条件始终为 false
标签: python ajax testing selenium integration-testing