我在selenium firefox webdriver中加载一个网页,然后我以500%放大页面,然后我希望在放大的图像中放大页面的屏幕截图分辨率为500%,但不起作用在Selenium中以放大状态拍摄全屏截图
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));
此代码放大到url中。 现在我想在放大的分辨率中截取屏幕截图。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:\\"+url.substring(url.lastIndexOf("/"),url.lastIndexOf("."))+".png"));
这是采取屏幕截图,但只在正常分辨率,而不是在放大的分辨率。
请有人帮助如何在硒中完成,或者即使硒对此也是正确的工具。如果不是那么,请建议其他适用于我的要求的其他内容。
你能解释这一行的动作吗? WebElement html = driver.findElement(By.tagName(“html”)); – 2015-02-06 06:49:45
@RupeshShinde - 我认为这是通过标签找到整个html页面,所以它说webdriver放大整个html页面。 – 2015-02-06 06:51:20
@RupeshShinde - HelpingHands是对的。它是获取html元素,这是整个页面,并且它们放大到页面中。 – 2015-02-06 06:57:13