从我读过以下代码:
File s = ((TakesScreenshot)driver_).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(s,new File("C:\\scr.png"));
} catch (IOException exception) {
exception.printStackTrace();
}
应该拍整页截图。但在我的情况下,它只会截取浏览器窗口中当前可见的任何内容。这是预期的行为还是在代码中出了问题?
答案 0 :(得分:0)
是的,这是Firefox的预期行为。 如果您想要获取整页截图,可以使用类似的内容将整个内容缩小到可见区域
executor = (JavascriptExecutor)driver.getDriver();
executor.executeScript(
"document.body.style.zoom=
(top.window.screen.height-70)/
Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);");
File scrFile = ((TakesScreenshot)driver.getDriver()).getScreenshotAs(OutputType.FILE);
它会尝试将所有内容带到可见区域,但您仍然可以错过最底层区域的一些内容。