在java中使用selenium拍摄不同网页的快照

时间:2012-07-16 13:12:42

标签: java selenium-rc webpage-screenshot

我有一个网址列表,我需要拍摄他们的快照。 我正在使用cmd运行selenium服务器并在eclipse中运行以下代码。

package com.example.tests;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class MainClass {


    void func(String url, String file)
    {
        Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", url);
        selenium.start();

        selenium.windowMaximize(); 

        selenium.open("/");
        selenium.waitForPageToLoad("30000");


        System.out.println("laoded\n");
    //  selenium.wait();
        String file1= "C:\\test\\"+file+".png";
        String file2= "C:\\test\\"+file+"2.png";
        selenium.captureScreenshot(file1);
        selenium.captureEntirePageScreenshot(file2, "");

        selenium.stop();

    }


    public static void main(String[] args)
    {

        MainClass demo = new MainClass();

        demo.func("http://www.facebook.com","face"); 

        demo.func("www.reddit.com","reddit"); 

    }
}

它正在给予 this error

我经历了these links但无法找到解决方案。 请帮我解决这个问题。我是硒的新手。

1 个答案:

答案 0 :(得分:0)

为什么不试试这样:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"));

或者在此处查看此链接,以获得良好的入门教程:http://vishnuagrawal.blogspot.com/2011/12/selenium-taking-screenshot-of-webpage.html

<强>参考文献: