1. 程式人生 > >截屏操作___senium__TakeScreenshot對象

截屏操作___senium__TakeScreenshot對象

end bsp second itl t對象 except input ace ebe

一、代碼如下

package www.gui.v2;

import java.awt.AWTException;
import java.awt.List;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.concurrent.TimeUnit;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;

public class Capture {
	WebDriver driver= null;
	Actions actions= null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Capture gx= new Capture();
		gx.init();

	}
	
	private void init() {
		// TODO Auto-generated method stub
		// TODO Auto-generated method stub
		// System.setProperty("webdriver.firefox.bin", "D:\\Mozilla
		// Firefox\\firefox.exe");
		System.setProperty("webdriver.firefox.bin", "D:\\FireFox__37\\firefox.exe");

		this.driver = new FirefoxDriver();// 啟動火狐瀏覽器

		this.driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);// 元素等待時間
		this.driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);// 頁面加載時間
		this.driver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);// ajax請求
		this.driver.manage().window().maximize();
		// this.driver.get("https://www.baidu.com/");// 在瀏覽器中打開該網址
		actions = new Actions(driver);
		
		this.driver.get("http://localhost/Agileone/");
		this.driver.findElement(By.id("username")).sendKeys("admin");
		this.driver.findElement(By.id("password")).sendKeys("admin");
		this.driver.findElement(By.id("login")).click();
		this.driver.findElement(By.partialLinkText("需求提案")).click();
		this.driver.findElement(By.partialLinkText("缺陷跟蹤")).click();
		
		
		
		TakesScreenshot s= (TakesScreenshot)driver;
//		byte[] b=s.getScreenshotAs(OutputType.BYTES);
//		for(int i=0; i<b.length; i++) {
//			System.out.println(b[i]);
//		}
	
		File f= s.getScreenshotAs(OutputType.FILE);
		try {
			FileUtils.copyFile(f, new File("e:\\123.png"));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	

}

截屏操作___senium__TakeScreenshot對象