【发布时间】:2017-03-23 10:33:02
【问题描述】:
仅对可见屏幕进行屏幕截图的现有代码。我正在使用Chromedriver。
System.setProperty("webdriver.chrome.driver", "D:/chromedriver/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.bbc.com");
driver.manage().window().maximize();
System.out.println(driver.getTitle());
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("D:/chromedriver/scr3.png"));
driver.close();
【问题讨论】:
-
我猜这是不可能的,因为 selenium 可能只能与可见的网络元素交互。
-
能否手动截取因滚动条而无法显示的页面?因为要查看页面的那些部分,您需要手动滚动。如果没有,那么如何使用 selenium 实现它?
-
@ShoaibAkhtar selenium IDE 有一个命令(captureEntirePageScreenshot),它可以截取整页(可滚动页面)的屏幕截图,那么为什么不能在 webdriver 中实现它
-
@SarthakSrivastava 该图像上的滚动条是否可以滚动?您想生成带有滚动条的屏幕截图,并且您应该能够在该屏幕截图中滚动滚动条。我猜这就是你的要求。如果是,那么我认为即使在 Selenium IDE 中使用 captureEntirePageScreenshot 也是不可能的。还是您的要求是别的?
标签: java selenium selenium-webdriver screenshot