我正在使用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"));
这是在正常分辨率下拍摄屏幕截图,而不是放大分辨率。
请有人帮忙,如何在selenium中实现这一点,或者即使selenium是否是适合我的要求的正确工具。如果不是,请建议其他可行的工具。
Chrome()
而不是Firefox()
,会有什么区别吗?谢谢。 - alecxe