在 Poltergeist 中获取垂直滚动位置

Get vertical scroll position in Poltergeist

我正在编写一个测试来验证页面在执行特定操作时滚动回顶部。我正在使用 Capybara/Cucumber/Selenium/Poltergeist。 我有一个使用

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

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

return document.documentElement.scrollTop()

但运气不好。是否有公认的方法来检查 Poltergeist 中的垂直滚动?

page.execute_script 没有 return 一个值(如果你使用 return,它恰好在 selenium 驱动程序中,但这是一个错误,因为水豚文档明确说它没有't return 一个值 - capybara docs)。你要用的是

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