在Poltergeist中获取垂直滚动位置

时间:2015-08-12 15:21:09

标签: phantomjs capybara poltergeist

我正在编写一个测试,用于在执行某个操作时验证页面是否滚动回到顶部。我使用Capybara / Cucumber / Selenium / Poltergeist。 我有一个使用

的Selenium工作实现
page.execute_script("return $('body').scrollTop()")

评估垂直滚动位置,但这会在Poltergeist中返回nil。当我在控制台中执行该行时,我启动了检查器并且Poltergeist返回0。我也试过了

return document.documentElement.scrollTop()

但没有运气。是否有一种可以接受的方法来检查Poltergeist中的垂直滚动?

1 个答案:

答案 0 :(得分:1)

page.execute_script没有返回值(如果你使用return,它会发生在selenium驱动程序中,但这是一个bug,因为capybara docs特别说它没有返回值 - capybara docs) 。您想要使用的是

page.evaluate_script("$('body').scrollTop()")