您的位置:首页 > 编程语言 > Java开发

Java+Selenium3方法篇30-Selenium中截图方法-TakeScreenshot

2017-06-28 23:33 453 查看
        前面几篇介绍了Actions类中两种方法,本来打算介绍右键,然后类似点击向下箭头这样操作,但是在现在的firefox和chrome都不能正常实现,记得之前selenium2.53是可以在firefox上实现的。本篇介绍Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果。

       在包下新建一个TakeScreenshot.java文件,在你eclipse当前项目根目录,新建一个叫Screenshots的文件夹,用来保存我们的截图文件,写入如下代码。

package lessons;

import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class TakeScreenshot {

public static void main(String[] args) throws Exception {

System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");

WebDriver driver = new ChromeDriver();

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

driver.get("https://www.baidu.com");

Thread.sleep(1000);

// 调用截图方法
File src= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);

try {
// 拷贝截图文件到我们项目./Screenshots
FileUtils.copyFile(src, new File(".\\Screenshots\\screen.png"));
}

catch (IOException e)
{
System.out.println(e.getMessage());

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: