【发布时间】:2015-02-06 06:34:09
【问题描述】:
我在 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));
此代码放大 url。 现在我想以放大的分辨率截屏。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:\\"+url.substring(url.lastIndexOf("/"),url.lastIndexOf("."))+".png"));
这是截屏,但仅以正常分辨率而不是放大分辨率。
请有人帮助如何在 selenium 中完成它,或者即使 selenium 是正确的工具。如果没有,请提出其他符合我要求的方法。
【问题讨论】:
-
你能解释一下这条线的作用吗? WebElement html = driver.findElement(By.tagName("html"));
-
@RupeshShinde - 我认为这是按标签查找整个 html 页面,所以它说 webdriver 缩放整个 html 页面。
-
@RupeshShinde - HelpingHands 是对的。就是获取html元素,也就是整个页面,然后把页面放大。
-
如果您改用
Chrome()而不是Firefox()- 有什么不同吗?谢谢。 -
@alecxe - 在 chrome 缩放中不起作用,它显示错误:未知错误:无法聚焦元素
标签: java selenium selenium-webdriver selenium-firefoxdriver