我在selenium firefox webdriver中加载一个网页,然后我以500%放大到页面,然后我希望以500%的缩放分辨率拍摄页面的屏幕截图,但它不起作用
DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
desiredCapabilities.setPlatform(Platform.WINDOWS);
WebDriver driver = new FirefoxDriver(desiredCapabilities);
driver.get(url);
driver.manage().window().setSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height));
WebElement html = driver.findElement(By.tagName("html"));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
此代码放大到网址。 现在我想以放大的分辨率拍摄截图。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:\\"+url.substring(url.lastIndexOf("/"),url.lastIndexOf("."))+".png"));
这是截图,但仅限于正常分辨率,而不是放大分辨率。
请有人帮助如何在硒中完成,或者即使硒是正确的工具。如果没有,请建议其他符合我要求的内容。
答案 0 :(得分:1)
您可以测试一下:
String script = "var page = this;page.zoomFactor = 0.9;";
((PhantomJSDriver)driver).executePhantomJS(script);
zoomFactor缩放了截图。
答案 1 :(得分:0)
下面的代码对我有用。
File scrFile2 = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile2, new File("c:\\tmp\\screenshot.png"));
我刚刚打开了一个页面,并以原始大小截取了它,甚至在我通过手动和使用你的代码缩放它(用于缩放)后,我得到了缩放分辨率截图。