WebKit 的服务器端 API PhantomJS

WebKit 的服务器端 API PhantomJS

BSD
C/C++
跨平台
2011-06-09
小编辑

Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG

使用场景:

  • 无需浏览器的 Web 测试

  • 页面访问自动化

  • 屏幕捕获


  • 网络监控

屏幕捕获示例代码:

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});

PhantomJS 生态环境:

  • CasperJS enables easy navigation scripting and common high-level testing.

  • Poltergeist allows running Capybara tests headlessly.

  • Guard::Jasmine automatically tests Jasmine specs on Rails when files are modified.

  • GhostDriver complements Selenium tests with a PhantomJS WebDriver implementation.

  • PhantomRobot runs Robot Framework acceptance tests in the background via PhantomJS.

  • Mocha-PhantomJS run Mocha tests using PhantomJS.

其他一些相关项目

加载中

评论(6)

554330833a
554330833a
没看懂作用是什么?
小心有诈
小心有诈
我只想要一个能在32位xp上跑的最新版本 #PhantomJS#
s33ker
s33ker
这个真可以当爬虫,然后在java里面Runtime.getRuntime().exec( 接收吗?有用过的给我回答 #PhantomJS#
天台道人
天台道人
PhantomJS读取的参数和下载后的网页结果似乎都只能存到磁盘上,能不能放在内存中?
Klingon
Klingon
phantomjs slimerjs casperjs黄金搭档,正要用,调研了下,不错。 PhantomJS
crazymus
crazymus
以后不用写正则表达式了:) PhantomJS

因内部闹矛盾,PhantomJS 宣布封存归档暂停开发

去年 4 月,我们曾报道过 PhantomJS 核心开发者之一 Vitaly Slobodin 宣布退出,辞任 maintainer ,不再维护项目。当时许多人就曾对项目的后续走向表示担忧,再加上项目一直未得到资源支持,...

03/05 08:16

PhantomJS 核心开发者宣布退出,项目或面临困境

PhantomJS 的核心开发者之一 Vitaly Slobodin 近日宣布,已辞任 maintainer ,不再维护项目。 Vitaly 发文表示,Chrome 59 将支持 headless 模式,用户最终会转向去使用它。Chrome 比Phantom...

2017/04/25 07:56

PhantomJS 2.5.0 Beta 发布,WebKit 的服务端 API

PhantomJS 2.5.0 Beta 发布了。 该版本主要更新内容如下: bug修复 新的命令行选项(禁用本地存储) 升级Qt到5.7.1 绝对震撼的QtWebKit! 有完整的ES2015支持,JavaScript引擎的改进和更多!...

2017/01/10 07:32

PhantomJS 2.1 发布,WebKit 的服务端 API

PhantomJS 2.1 在 23 号发布了,该版本更新了 WebKit 库,基于 Qt 5.5,新特性包括: Upgraded Qt to 5.5.1 (issue #13377) Added support for SSL Client Authentication (issue #11275) A...

2016/01/27 19:07

PhantomJS 2.0.0 发布,服务器端 JavaScript

PhantomJS 2.0.0 发布,此版本更新了基于 Qt 5.3 的 WebKit 库;不再支持 CoffeeScript,不能再运行 CoffeeScript 编写的脚本。 PhantomJS 2.0.0 现已提供下载:http://phantomjs.org/downlo...

2015/02/03 08:49

PhantomJS 2.0 即将发布,Webkit 脚本化

来自 PhantomJS 网站上的消息,2.0 版本即将发布哦~ 目前开发团队正在准备各个平台上的二进制版本,相信很快就会有发布新闻。 Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持...

2015/01/27 07:58

我的网站有 13 个用户啦!

Hacker News上有很多故事,都是关于某个优秀的产品应用如何在上线的第一天就从大批的用户那里挣到了钱。如果讲的是一个慢热型的产品,那故事应该是多年之后, 这个产品终于取得了成功。我写这...

2013/03/29 07:40

PhantomJS 1.8 发布,服务器端 JavaScript

PhantomJS 1.8 发布了,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 该版本最大的改进就是集成了 Ghost Driver...

2012/12/24 18:40

PhantomJS 1.5 发布

PhantomJS 1.5 发布了,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 新版本完全兼容 1.4 版本,已有的脚本可以...

2012/03/22 16:45

没有更多内容

加载失败,请刷新页面

没有更多内容

2
回答
highcharts直接后台生成图片,不经过JSP页面的的请求,如同jfreechart那样?应该如何做?

有一个需求,程序启动后,有一个功能代码单独运行,无需启动浏览器,自动查询数据库中的数据,并生成图片,要求使用highcharts,这个功能能实现吗?网上很...

2016/11/06 14:06
1
回答
phantomjs2.1.1的截图功能在windws上能够实现,在linux(centos)服务器就不能实现

var page = require('webpage').create(); page.open("http://www.baidu.com", fun...

2017/12/13 12:59
1
回答
node.js上的node-phantom模块的问题

var phantom = require('node-phantom'); var fs = require('fs'); var express = ...

2016/05/17 16:31
3
回答
PhantomJS如何实现登陆后的跳转

RT,在evaluate里模拟点击登陆了,但是获取获取不到登陆跳转后的页面,请问各位大神该怎么坐

2016/11/11 16:23
4
回答
CasperJS 的安装和快速入门

CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom ...

2012/05/30 14:13
1
回答
Phantomjs解析动态video问题

No compatible source was found for this media

2016/09/18 18:21
6
回答
win下php使用phantomjs抓取网页会假死如何解决?
0xAB 的回答 2014/07/13 23:41
最佳答案
不建议用php,不好实现,如果必须用php,那么建议你看一下php线程(需要扩展)
2
回答
PhantomJS(CasperJs)下载文件的问题,在线等。。。

页面是这样的: 按钮A点击之后,会触发一系列JS处理,然后将结果发送到服务器;最后,服务器返回一个文件。 如果是浏览器,会弹出下载文件的对话框,但现在使用...

2015/02/28 13:25
8
回答
PhantomjsDriver操作表单元素

@傅小黑 你好,想跟你请教个问题:在Java中,用phantomjsdriver请求页面,加载页面后,调用element.sendKeys方法为input...

2015/10/29 17:26
3
回答
web页面转Pdf

windows版: 1、下载phantomjs(http://download.csdn.net/detail/a578210452/9719652),解...

2016/12/23 16:21

没有更多内容

加载失败,请刷新页面

ubuntu 安装phantomjs、chromedriver、geckodriver

一、安装phantomjs 1.从官网下载http://phantomjs.org/download.html 2.加压 tar -zxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 3.mv phantomjs-2.1.1-linux-x86_64 /usr/local/share/phanto...

04/18 11:40
158
0
Web 自动化测试与智能爬虫利器:PhantomJS 简介与实战

估计部分同学没听过这个工具,那先简单介绍下它的背景与作用。 1、PhantomJS 是什么? PhantomJS是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生...

2015/04/28 03:55
26.9K
1
聊聊phantomjs的优化措施

## 序 本文主要小结一下phantomjs的优化措施 ## phantomjs phantomjs相当于一个后台浏览器,有点内嵌jetty的味道,通常在自动化测试或者爬虫领域用。 ## 优化点 - 池化技术,避免重复启动 >对...

2017/11/07 23:42
36
0
利用phantomjs+casperjs实现登陆抓取网页并截图

最近有个任务要求定时自动登陆某网站,访问指定页面并且进行截图.windows ,linux实现均可. 开始想利用php 调用com组件来完成.截图是OK的,但是涉及到登陆就没法实现了. 后来网上查了下资料发现...

2013/07/30 16:31
9.4K
7
无头浏览器,从phantomjs到webkit4j

一、从浏览器说起 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 浏览器内核 Webkit:目前最主流的浏览器内核...

06/12 10:32
18
0
如何在无头模式下运行WebDriver?

如何在无头模式下运行WebDriver?如果您的CI工具(例如Jenkins)不支持UI,则可能需要这样做。 在无头模式下运行WebDriver自动测试在测试执行速度和更轻松地集成到CI管道方面具有优势。 下面...

11/26 12:16
15
0
后台生成Echarts报表的解决方案

在项目中使用Echarts来生成报表,效果不错,之后有个需求要设置定时时间给指定的邮箱发送报表邮件。后台使用JFreeChart生成的话样式不协调,而Echarts需要浏览器内核来执行js,后来尝试过htm...

08/27 22:24
36
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部