我正在编写一个测试,用于在执行某个操作时验证页面是否滚动回到顶部。我使用Capybara / Cucumber / Selenium / Poltergeist。 我有一个使用
的Selenium工作实现page.execute_script("return $('body').scrollTop()")
评估垂直滚动位置,但这会在Poltergeist中返回nil。当我在控制台中执行该行时,我启动了检查器并且Poltergeist返回0。我也试过了
return document.documentElement.scrollTop()
但没有运气。是否有一种可以接受的方法来检查Poltergeist中的垂直滚动?
答案 0 :(得分:1)
page.execute_script没有返回值(如果你使用return,它会发生在selenium驱动程序中,但这是一个bug,因为capybara docs特别说它没有返回值 - capybara docs) 。您想要使用的是
page.evaluate_script("$('body').scrollTop()")