一尘不染

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

selenium

使用Selenium Java绑定。

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

作为其中的一部分,我想知道我要处理的整个页面长度是多少,这样我就可以计算出需要拍摄的照片数量,而其余的则在底部。有很多示例显示了如何滚动到页面底部,但是我想知道是否有一种方法可以JavascriptExecutor返回页面长度的值,以便可以在脚本中使用它?


阅读 1218

收藏
2020-06-26

共1个答案

一尘不染

您需要scrollHeight

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

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

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

return scrollHeight;
2020-06-26