当前位置: 首页 > 面试题库 >

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

白彦
2023-03-14
问题内容

使用Selenium Java绑定。

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

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


问题答案:

您需要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;


 类似资料:
  • 我使用selenium获取网页,并发送kenword获取新页面。但是我怎样才能获得新的网页,并搜索我需要的信息呢 请原谅我没有使用降价。我的问题是:我想在搜索关键词后获得网页,但我编写了浏览器。page_源码,它是百度的主页

  • 我试图创建一个通用的网络爬虫,将去一个网站和截图。我使用的是Python、Selnium和PhantomJS。问题是截图并没有捕获页面上的所有图像。例如,如果我去you tube,它不会捕捉主页图像下面的图像。(我没有足够高的rep来发布屏幕截图)我认为这可能与动态内容有关,但我已经尝试了等待函数,如隐式等待和on set_page_load_timeout方法。因为这是一个通用的爬虫,我不能等待

  • 我试图从下面的HTML代码中获取文本$1.00(我有xpath,所以不用担心)。为此,我们可以说xpath是//*[@id=“price-string”] 我尝试使用driver.findElement(by.xpath(“//*[@id=”price-string“]”)),后跟.getText()、.getAttribute(“TextContent”)、.getAttribute(“Inne

  • 问题内容: 我使用xuggler来获取视频长度,但是它给出了错误的长度,可能是时候使用xuggler从视频文件中读取数据了。但是我需要获取实际的视频长度或时长。 问题答案: 您可以使用的和方法获取它。您可以这样做: 您可以在此处看到完整的示例 希望这可以帮助

  • 我对这一点很陌生,我发现了一种计算表中行数的方法,我的问题是我的代码只计算“可见”行,而不计算表中屏幕外的行。 这段代码返回39行,但有44行,超过的行在计数时不可见。 有什么帮助吗?

  • 问题内容: 我在Java中使用Selenium Webdriver。我想在单击“下一步”按钮从第1页移至第2页后获得当前的url。这是我的代码: 我有隐式和显式的等待调用,以等待页面完全加载后再获得当前的url。但是,它仍在打印第1页的网址(应该是第2页的网址)。 问题答案: 就像您说的那样,因为下一个按钮的xpath在每个页面上都是相同的,所以它将不起作用。它按照编码的方式工作,它确实等待元素显