2017-04-13 29 views
-1

私はselenium Webdriverを学んでいます。私はクロムブラウザでスクリーンショットを取ろうとしていましたが、以下のコードで例外があります(注:同じコードがFirefox上で動作します)。 Chromeでスクリーンショットを撮るのを手伝ってください。下のコードがChromeで動作しない理由を教えてください。Chromeブラウザのselenium webdriverでスクリーンショットを撮る

public class ScreenShot 
{ 
    public static void main(String[] args) throws IOException 
    { 
     String key = "webdriver.chrome.driver"; 
     String value = "./driver/chromedriver.exe"; 
     System.setProperty(key, value); 
     WebDriver driver = new ChromeDriver(); 
     driver.get("https://www.google.co.in"); 
     TakesScreenshot screen = (TakesScreenshot) driver; 
     File srcFile = screen.getScreenshotAs(OutputType.FILE); 
     File destFile = new File("d:/google.png"); 
     FileUtils.copyFile(srcFile, destFile); 
    } 
}  
+1

例外はありますか? – Thomas

+0

スタックトレースを印刷して、場所にヨーヨークロムドライバがあることを確認してください。 – kushal

答えて

2
import java.io.File; 
import java.io.IOException; 

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

public static String captureScreenshot (WebDriver driver, String screenshotName){ 

    try { 
     TakesScreenshot ts = (TakesScreenshot)driver; 
     File source = ts.getScreenshotAs(OutputType.FILE); 
     String dest = "/Users/CD6255ABQA/Desktop/Debug Images/" + screenshotName + ".png"; 
     File destination = new File(dest); 
     FileUtils.copyFile(source, destination); 
     return dest; 
     } 

    catch (IOException e) {return e.getMessage();} 
    } 

方法でファイルの保存先を変更することを忘れないでください

String screenpath = captureScreenshot(driver, "ScreenshotName") 

を使用して、それを呼び出します。

関連する問題