Selenium / Java:如何获取总页面长度

时间:2019-05-16 07:58:41

标签: java selenium webdriver

使用Selenium Java绑定。

我正在尝试编写一个简短的模块,该模块将获取浏览器页面的完整屏幕截图(我知道AShot存在,但没有得到维护,对我来说有一些问题)。

在此过程中,我想知道我要处理的整个页面长度是多少,因此我可以计算出需要拍摄的照片数量,其余部分都在底部。有很多示例显示了如何滚动到页面底部(例如this question),但是我想知道是否有一种方法可以使JavascriptExecutor返回页面长度的值,因此我可以在脚本中使用它吗?

1 个答案:

答案 0 :(得分:2)

您需要scrollHeight

JavascriptExecutor js = (JavascriptExecutor) driver;         
js.executeScript("return document.documentElement.scrollHeight");

在进一步寻找更健壮的解决方案之后,此Javascript代码(我从同一website中提取)应该提供更好的结果:

let scrollHeight = Math.max(
  document.body.scrollHeight, document.documentElement.scrollHeight,
  document.body.offsetHeight, document.documentElement.offsetHeight,
  document.body.clientHeight, document.documentElement.clientHeight
);

return scrollHeight;