我需要通过网址获取网站的全屏镜头,有没有任何PHP程序或者服务,如果没有,是否有任何Java程序用于该目的?我如何能采取网站的全屏截图
回答
有很多方法:
Litmus是这种事情的一个很好的在线资源;您可以提交一个URL并使其在最新的浏览器上进行全屏截图。如果您获得付费订阅或在周末使用它,您将可以在所有22种浏览器上进行测试,而不仅仅是最新的测试。我一直使用这个网站,我认为这是惊人的。
BrowserShots也很大,并且它支持吨以上的浏览器,但在我的经验,这是一个很大得慢。不过,如果你需要需要来测试一些浏览器,石蕊不会。
您需要有一个特殊版本的浏览器,在之后“渲染”页面,它由PHP或Java处理。
当您ping运行Windows,OSX或Linux窗口管理器的服务器后,您最有可能需要设置一些自定义自动化脚本来点击URL。
有服务在那里会为你做屏幕截图。
http://webthumb.bluga.net/home
仅举几例。
如果您有专用的服务器,您也可以自己做。这个想法是以全屏模式启动X服务器和浏览器,进行拍摄并将其保存到图像文件中。
根据您的利用率(偶尔或密集),可以适应的过程中(即不杀生X每次,等...),使其更快。
从问题中不清楚您是否希望以编程方式或手动执行此操作。如果是手动的:Firefox有一个很好的插件Abduction!,它将页面渲染为图像。否则,凯恩的答案已经涵盖了很多。
我发现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
对我来说,最好的解决办法: 使用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不会以这种方式工作,因为它是无头的。
该死的容易!
但是你需要Selenium服务器运行并安装firefox浏览器才能正常工作? – newbie 2014-06-29 12:02:50
@newbie安装Firefox浏览器required.But没有需要运行Selenium服务器。您只需将所需的库导入到您的Java项目中。 – rahulserver 2014-06-29 15:44:25
试试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
你的屏幕截图。
- 1. 采取网站的屏幕截图,只有网址
- 2. 如何截取网站的截图
- 3. 如何采取屏幕截图和截屏保存在相册
- 4. 如何在我的Java项目采取的屏幕截图
- 5. 如何抓取网站并截取每个网页的截图?
- 6. 的Windows Phone不采取截图完全
- 7. xna 4采取桌面屏幕截图
- 8. iPhone - UIImagePickerController采取屏幕截图?
- 9. iOS采取多个屏幕截图
- 10. Phantomjs - 截取网页的屏幕截图
- 11. 采取整个网页的屏幕截图
- 12. 我如何获取许多网站的缩略图截图?
- 13. 如何使用阿绍特硒采取截屏整个网页
- 14. html2canvas外部网站的屏幕截图
- 15. 节点puppeteer采取截图全页SPA
- 16. 网站抓取和截图
- 17. 如何在运行javascript后截取网页的屏幕截图
- 18. 如何使用Python截取网站截图/图像?
- 19. 我如何可以采取截屏,并将其保存在PHP
- 20. 采取屏幕的特定部分的屏幕截图
- 21. 如何截取指定网站的截图?
- 22. 的MapView不采取全屏
- 23. Jbehave - 全屏截图
- 24. 编程式网站屏幕截图
- 25. 试图采取视图的屏幕截图和它的孩子
- 26. 保存某个对象的屏幕截图在网站上我的网站
- 27. 如何从网址获取网页的屏幕截图
- 28. 在python脚本中抓取开放网站的屏幕截图
- 29. 采取截图+ ipad的
- 30. 如何采取游戏截图用OpenGL
哇,#2真棒!必须记住未来。 – snicker 2009-09-28 18:51:58