2009-09-28 48 views

回答

2

Litmus是這種事情的一個很好的在線資源;您可以提交一個URL並使其在最新的瀏覽器上進行全屏截圖。如果您獲得付費訂閱或在週末使用它,您將可以在所有22種瀏覽器上進行測試,而不僅僅是最新的測試。我一直使用這個網站,我認爲這是驚人的。

BrowserShots也很大,並且它支持噸以上的瀏覽器,但在我的經驗,這是一個很大得慢。不過,如果你需要需要來測試一些瀏覽器,石蕊不會。

+0

我並不是說我需要在不同的瀏覽器上測試網頁,而是需要從給定的網址快速獲取屏幕截圖。是否有任何開源/免費的應用程序,它不一定是PHP或Java,只是免費的軟件,可以工作... – newbie 2009-09-28 18:36:31

+0

我想我不理解差異。你仍然可以使用Litmus或Browsershots來做同樣的事情,只需要爲一個瀏覽器運行測試。 – Twisol 2009-09-28 18:40:13

3

您需要有一個特殊版本的瀏覽器,在之後「渲染」頁面,它由PHP或Java處理。

當您ping運行Windows,OSX或Linux窗口管理器的服務器後,您最有可能需要設置一些自定義自動化腳本來點擊URL。

有服務在那裏會爲你做屏幕截圖。

http://www.browsercam.com

http://webthumb.bluga.net/home

僅舉幾例。

0

如果您有專用的服務器,您也可以自己做。這個想法是以全屏模式啓動X服務器和瀏覽器,進行拍攝並將其保存到圖像文件中。

根據您的利用率(偶爾或密集),可以適應的過程中(即不殺生X每次,等...),使其更快。

0

從問題中不清楚您是否希望以編程方式或手動執行此操作。如果是手動的:Firefox有一個很好的插件Abduction!,它將頁面渲染爲圖像。否則,凱恩的答案已經涵蓋了很多。

0

我發現CutyCapt是採取截圖的最簡單的解決方案,它會在Windows和Linux工作。

Installinging在Windows:

只需下載文件並執行。

Installining Debian中:

apt-get install cutycapt xvfb 

和運行:

xvfb-run --server-args="-screen 0, 1024x768x24" /usr/bin/cutycapt --url=http://www.google.com --out=/home/screenshots/screenshot_name.png 
2

對我來說,最好的解決辦法: 使用selenium webdriver 而採取的截圖可以是簡單的this

import java.io.File; 
import java.net.URL; 

import org.openqa.selenium.OutputType; 
import org.openqa.selenium.TakesScreenshot; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.remote.Augmenter; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 

public class Testing { 

    public void myTest() throws Exception { 
     WebDriver driver = new RemoteWebDriver(
           new URL("http://localhost:4444/wd/hub"), 
           DesiredCapabilities.firefox()); 

     driver.get("http://www.google.com"); 

     // RemoteWebDriver does not implement the TakesScreenshot class 
     // if the driver does have the Capabilities to take a screenshot 
     // then Augmenter will add the TakesScreenshot methods to the instance 
     WebDriver augmentedDriver = new Augmenter().augment(driver); 
     File screenshot = ((TakesScreenshot)augmentedDriver). 
          getScreenshotAs(OutputType.FILE); 
    } 
} 

不要忘記使用FireFoxDriver。 HtmlUnitDriver不會以這種方式工作,因爲它是無頭的。

該死的容易!

+0

但是你需要Selenium服務器運行並安裝firefox瀏覽器才能正常工作? – newbie 2014-06-29 12:02:50

+0

@newbie安裝Firefox瀏覽器required.But沒有需要運行Selenium服務器。您只需將所需的庫導入到您的Java項目中。 – rahulserver 2014-06-29 15:44:25

0

試試headless browser。其中任何一項應該這樣做:

  • PhantomJS - >使用 '的Webkit' 佈局引擎(Safari瀏覽器/鉻)
  • TrifleJS - >使用 '三叉戟' 佈局引擎(Internet Explorer)中
  • SlimerJS - >採用「壁虎佈局引擎(火狐)

您可以通過下面的JavaScript代碼採取截圖(保存到文件renderpage.js):

var page = require('webpage').create(); 
page.open('http://en.wikipedia.org', function() { 
    page.render('wikipedia.png'); 
}); 

然後通過命令行執行:

> phantomjs.exe renderpage.js 

這將創建一個文件wikipedia.png你的屏幕截圖。