我如何可以采取网站全屏截图[关闭](How can I take fullscreen screen

2019-07-19 22:17发布

我需要通过URL来获得网站的全屏拍摄,是有这或服务的任何PHP程序,如果没有,是否有任何Java程序用于这一目的?

Answer 1:

有很多方式:

  1. 使用http://khtml2png.sourceforge.net/index.php?page=faq

  2. 使用WebKit引擎的一些绑定它: http://www.blogs.uni-osnabrueck.de/rotapken/2008/12/03/create-screenshots-of-a-web-page-using-python-and-qtwebkit /

  3. 在批处理模式下使用Mozilla引擎: http://www.chimeric.de/blog/2007/1018_automated_screenshots_using_bash_firefox_and_imagemagick



Answer 2:

你需要有一个浏览器的一个特殊版本,它是由PHP或Java处理的“渲染”的页面。

您将最有可能需要设置一些自定义的自动化脚本打一个网址,你ping运行窗口,OSX或Linux的窗口管理器的服务器之后。

有服务在那里它会为你做的屏幕截图。

http://www.browsercam.com

http://webthumb.bluga.net/home

仅举几例。



Answer 3:

石蕊是这种事情有很大的在线资源; 你可以提交一个URL,它也采取了最新的浏览器全网页截图。 如果你得到一个付费订阅或使用它在周末,你将有机会测试它的浏览器,而不仅仅是最近的所有22个。 我用这个网站所有的时间,我认为这是惊人的。

BrowserShots也很大,并且它支持吨以上的浏览器,但在我的经验,这是一个很大得慢。 这是很好的,如果你需要测试一些浏览器石蕊没有,虽然使用。



Answer 4:

对我来说,最好的解决办法:使用硒的webdriver而采取的截图可以像简单此 :

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不会以这种方式工作作为它的无头。

织补容易!



Answer 5:

你也可以自己做,如果你有一个专用的服务器。 我们的想法是启动X Server和全屏模式浏览器,来进行拍摄,并将其保存为图像文件。

根据您的利用率(偶尔或密集),则可以调整过程(即不杀生X每次,等...),使其更快。



Answer 6:

它不是从问题明确是否你正在寻找编程或手动完成。 如果是手动:有一个伟大的插件用于Firefox的所谓拐! 呈现一个页面的图像。 否则,凯恩的答案有它几乎涵盖。



Answer 7:

我发现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


Answer 8:

尝试模拟浏览器 。 其中任何一项应该这样做:

  • PhantomJS - >用途'的Webkit'布局引擎(Safari浏览器/铬)
  • TrifleJS - >使用“三叉戟”布局引擎(互联网浏览器)
  • 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与您的屏幕截图。



文章来源: How can I take fullscreen screenshot of website [closed]