PhantomJS 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
PhantomJS 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
PhantomJS 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
PhantomJS 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
PhantomJS 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 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)

加载中
打分: 力荐
没看懂作用是什么?
2016/12/23 16:39
回复
举报
以后不用写正则表达式了:) PhantomJS
2014/10/15 09:53
回复
举报
phantomjs slimerjs casperjs黄金搭档,正要用,调研了下,不错。 PhantomJS
2015/01/28 00:51
回复
举报
PhantomJS读取的参数和下载后的网页结果似乎都只能存到磁盘上,能不能放在内存中?
2015/03/05 10:09
回复
举报
这个真可以当爬虫,然后在java里面Runtime.getRuntime().exec( 接收吗?有用过的给我回答 #PhantomJS#
2015/09/06 17:03
回复
举报
我只想要一个能在32位xp上跑的最新版本 #PhantomJS#
2016/12/12 14:01
回复
举报
更多评论
发表于大前端专区
2018/03/05 08:16

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

去年 4 月,我们曾报道过 PhantomJS 核心开发者之一 Vitaly Slobodin 宣布退出,辞任 maintainer ,不再维护项目。当时许多人就曾对项目的后续走向表示担忧,再加上项目一直未得到资源支持,恐面临困境。 2018 年 3 月 2 日,PhantomJS 的另一位核心开发者 pixiuPL 发布公开信表示,自己已被迫辞任 Collaborator 。Pixiu...

9
3
发表了资讯
2017/04/25 07:57

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

PhantomJS 的核心开发者之一 Vitaly Slobodin 近日宣布,已辞任 maintainer ,不再维护项目。 Vitaly 发文表示,Chrome 59 将支持 headless 模式,用户最终会转向去使用它。Chrome 比PhantomJS 更快,更稳定,也不会像 PhantomJS 这样疯狂吃内存: “我看不到 PhantomJS 的未来,作为一个单独的开发者去开发 PhantomJS ...

15
5
发表了资讯
2017/01/10 07:29

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

PhantomJS 2.5.0 Beta 发布了。 该版本主要更新内容如下: bug修复 新的命令行选项(禁用本地存储) 升级Qt到5.7.1 绝对震撼的QtWebKit! 有完整的ES2015支持,JavaScript引擎的改进和更多! 这里是比较表。 现在,您可以针对系统安装的Qt构建WEBP格式的PhantomJS Phantom JS是一个服务器端的 JavaScript API 的 WebKit...

6
17
发表了资讯
2016/01/28 00:00

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) Added support for context menu event (issue #11429) Allow remote debugging to use random port assigned by the OS (issue #...

6
16
发表了资讯
2015/02/03 00:00

PhantomJS 2.0.0 发布,服务器端 JavaScript

PhantomJS 2.0.0 发布,此版本更新了基于 Qt 5.3 的 WebKit 库;不再支持 CoffeeScript,不能再运行 CoffeeScript 编写的脚本。 PhantomJS 2.0.0 现已提供下载:http://phantomjs.org/download.html。 更新内容: 新特性: * 切换到 Qt5,更新 WebKit (issue 10448) * 完成内存缓存清理 (issue 10357) * 添加对每个请求 ...

1
4
发表了资讯
2015/01/27 00:00

PhantomJS 2.0 即将发布,Webkit 脚本化

来自 PhantomJS 网站上的消息,2.0 版本即将发布哦~ 目前开发团队正在准备各个平台上的二进制版本,相信很快就会有发布新闻。 Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 使用场景: 无需浏览器的 Web 测试 页面访问自动化 屏幕捕获 网络监...

31
79
发表了资讯
2013/03/29 00:00

我的网站有 13 个用户啦!

Hacker News上有很多故事,都是关于某个优秀的产品应用如何在上线的第一天就从大批的用户那里挣到了钱。如果讲的是一个慢热型的产品,那故事应该是多年之后, 这个产品终于取得了成功。我写这些,是为了让大家从另外一个角度看事情。我的网站上线10多天来,看样子要变成慢热型的事实,有点沮丧,但我仍然充满了希 望,仍...

31
17
发表了资讯
2012/12/24 00:00

PhantomJS 1.8 发布,服务器端 JavaScript

PhantomJS 1.8 发布了,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 该版本最大的改进就是集成了 Ghost Driver ,这是一个 WebDriver Wire Protocol 的实现。 使用方法: require "selenium-webdriver" driver = Selenium::WebDriver.for(:r...

7
19
发表了资讯
2012/03/22 00:00

PhantomJS 1.5 发布

PhantomJS 1.5 发布了,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 新版本完全兼容 1.4 版本,已有的脚本可以直接在 1.5 上运行,不过新版本不再支持 Flash。另外在 Linux 下也无需X11 环境支持,详细内容请看发行说明。...

4
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/04/12 15:27

phantomjs

phantomjs (http://javascript.ruanyifeng.com/tool/phantomjs.html) 有时,我们需要浏览器处理网页,但并不需要浏览,比如生成网页的截图、抓取网页数据等操作。PhantomJS的功能,就是提供一个浏览器环境的命令行接口,你可以把它看作一个“虚拟浏览器”,除了不能浏览,其他与正常浏览器一样。它的内核是WebKit引擎,不...

0
0
发表了博客
2018/05/17 12:27

PhantomJS

一、任务描述   本实验任务主要对PhantomJS进行一些基本操作,通过完成本实验任务,要求学生熟练掌握PhantomJS的操作,并对PhantomJS的基本操作进行整理并填写工作任务报告。 二、任务目标 1、掌握PhantomJS的使用 三、任务环境 Ubuntu16.04、Python2.7 四、任务分析   PhantomJS是一个基于webkit的JavaScript API,...

0
0
发表了博客
2019/07/05 17:40

PhantomJS

一 . 认识PhantomJS 1.PhantomJS:无界面的浏览器 Selenium: 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可...

0
0
发表于大前端专区
2018/12/17 11:05

PhantomJS学习--phantomjs入门教程

PhantomJS 来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 PhantomJS官方API 目录 概述 REPL环境 webpage模块 open() evaluate() includeJs() render() viewportSize,zoomFactor onResourceRequested on......

0
0
发表于数据库专区
2018/06/20 08:48

[98]phantomjs Can not connect to the Service phantomjs错误

尝试方法一: 打开hosts文件配置 cat /etc/hosts 添加127.0.0.1 localhost 重新运行 尝试方法二: 1,抛开服务,直接调用phantomjs定位问题 由于我是从服务的日志中看到报错的,可能是因为phantomjs这个出错了,于...

0
0
发表了博客
2018/07/30 16:21

phantomjs学习

PhantomJS快速入门   本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍、下载与安装、HelloWorld程序、核心模块介绍等。由于鄙人才疏学浅,难免有疏漏之处,欢迎指正交流。   1、PhantomJS是什么?   PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用w...

0
0
发表了博客
2014/11/05 23:40

phantomjs使用说明

phantomjs实现了一个无界面的webkit浏览器。虽然没有界面,但dom渲染、js运行、网络访问、canvas/svg绘制等功能都很完备,在页面抓取、页面输出、自动化测试等方面有广泛的应用。

0
0
2020/11/25 10:22

安装PhantomJS

环境 操作系统:CentOS 6.7 32-bit 安装步骤 # 安装依赖软件 yum -y install wget fontconfig # 下载PhantomJS wget -P /tmp/ https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i6......

0
0
2015/06/19 11:39

phantomjs截图

废话不多说,直接上代码。 功能:随便截取一个url页面: https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1 phantomjs的js环境test.js system = require('system') address = system.args[1];//获得命令行第二个参数 接下来会用到 //console.log...

0
0
发表了博客
2018/10/09 14:29

phantomJs 截屏

PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎。它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG。 PhantomJS下载地址:http://phantomjs.org/download.html Js文件 // 导入webpa...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/11/06 14:06

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

有一个需求,程序启动后,有一个功能代码单独运行,无需启动浏览器,自动查询数据库中的数据,并生成图片,要求使用highcharts,这个功能能实现吗?网上很多人说结合PhantomJS,这个可以吗?有大神请指导,

2
0
发表了问答
2017/12/13 12:59

phantomjs2.1.1的截图功能在windws上能够实现,在linux(centos)服务器就不能实现

var page = require('webpage').create(); page.open("http://www.baidu.com", function () { page.render("example.png"); phantom.exit(); }); windows截图效果: linux(centos)截图效果: 有没有大神知道怎么解决啊?...

4
0
发表了问答
2016/05/17 16:31

node.js上的node-phantom模块的问题

var phantom = require('node-phantom'); var fs = require('fs'); var express = require('express'); var app = express(); app.get('/download', function(req, res) { res.write("<h1>helloworld</h1>"); phantom.create(function(err,ph) { alert(err) return ph.createPage(function(err,page) { alert(err)...

1
0
发表了问答
2016/11/11 16:23

PhantomJS如何实现登陆后的跳转

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

6
0
发表了问答
2012/05/30 14:13

CasperJS 的安装和快速入门

CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 本文主要介绍如何安装和使用 CasperJS 工具。 安装 CasperJS 依赖于PhantomJS >= 1....

6
29
发表了问答
2016/09/18 18:21

Phantomjs解析动态video问题

No compatible source was found for this media

1
0
发表了问答
2014/07/12 22:07

win下php使用phantomjs抓取网页会假死如何解决?

【win7环境,需要抓取目标站的信息!】 1. 用php将目标站的URL写入到web.js里 2. 然后system命令phantomjs执行web.js,将信息写入到web.txt里 3. 遇到的问题是依次抓取一段时间后,phantomjs会假死,只能结束“phantomjs.exe”进程,然后再手工运行php继续抓取! 请教大家如何能解决phantomjs假死的这个问题!...

6
1
发表了问答
2015/02/28 13:25

PhantomJS(CasperJs)下载文件的问题,在线等。。。

页面是这样的: 按钮A点击之后,会触发一系列JS处理,然后将结果发送到服务器;最后,服务器返回一个文件。 如果是浏览器,会弹出下载文件的对话框,但现在使用CasperJS该怎么处理? 不是一定要用CasperJS,PhantomJS也可以。 求大神帮助

2
0
发表了问答
2015/10/29 17:26

PhantomjsDriver操作表单元素

@傅小黑 你好,想跟你请教个问题:在Java中,用phantomjsdriver请求页面,加载页面后,调用element.sendKeys方法为input元素赋值,主要代码如下: DesiredCapabilities caps = DesiredCapabilities.phantomjs(); caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,new String[] {"--load-images=false"}); ...

8
0
发表了问答
2016/12/23 16:21

web页面转Pdf

windows版: 1、下载phantomjs(http://download.csdn.net/detail/a578210452/9719652),解压到某个目录。 2、将XXX\phantomjs\bin配置到环境变量中(方便使用)。 3、cmd下调用如下命令:oeepdf "url" "output" ,即可生产pdf文件。 url:网页地址 output:pdf输出路径...

7
2
发表了问答
2016/11/29 09:47

含有rowspan的table在phantomjs中丢失边框问题

使用phantomjs导出pdf或png时,如果包含table,且table中有rowspan时,边框会丢失.

2
0
发表了问答
2015/05/18 10:46

java (HttpClient)如何爬取 图形/曲线/柱状图 (canvas)类的东西?

图形/曲线/柱状图 类的展示 的数据(canvas标签内) 如何 抓取? 例如:http://www.p2peye.com/platdata-63.html 使用HttpClient 应该不行吧,因为好像 拿到源码 也没什么用。 网页源码 没有数据,什么都没有。。 这种 图形 能不能 抓下来并且 还原成 原网站的效果? 我搜到有个 PhantomJS 开源工具 可以实现,但具体 如...

1
1
发表了问答
2014/09/28 15:09

如何利用phantomJS抓取二级页面的内容

最近刚解除phantomJS,单页页面的内容会抓取了,但是如何抓取二级页面的内容,遇到一些问题不解? 我想达到的目的是,在第一页中抓取特定一些的url,根据这些url再进入二级页面抓取里面的内容。 不知道该采取怎样的方式

3
0
发表了问答
2016/09/28 16:12

phantomjs如何解析验证码

用phantomjs爬取网页数据时,如果遇到有验证码的话,如何去破解这个验证码?各位大神帮小弟解答解答

4
0
发表了问答
2016/08/06 16:37

模拟登陆遇到弹出式验证码该怎么办?

我使用python想用Selenium+phantomjs来模拟登陆,可是该网站在点击登陆之后会弹出一个填写验证码的对话框,我该如何获取这个对话框里的元素呢?

13
0
发表了问答
2016/03/18 13:34

java 通过cmd运行phantomjs命令怎么写

我的phantomjs.exe 在D盘/phantomjs/bin下,现在我要在java里面通过Runtime.getRuntime().exec()来运行这个命令: phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003 String cmd = "这里改如何写命令呢?"; Runtime runtime = Runtime.getRuntime(); runtime.exec(cmd)...

3
0
发表了问答
2015/11/25 12:49

使用phantomjs,启动失败,出现org.openqa.selenium.net.UrlChecker$TimeoutException异常

主代码如下: public static void main(String []args){   DesiredCapabilities caps = new DesiredCapabilities(); caps.setJavascriptEnabled(true); caps.setCapability("takesScreenshot", true); caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERT...

2
0
发表了问答
2015/03/05 10:08

PhantomJS读取的参数和下载后的网页结果似乎都只能存到磁盘上,能不能放在内存中?

如果操作频繁,参数读取和结果返回都通过磁盘中转的话,效率就低了,有什么办法让PhantomJS的参数调用和结果返回都在内存中进行?

1
0
发表了问答
2014/11/06 12:57

casperjs phantomjs 爬虫结果保存到数据库?

@bobshi 你好,想跟你请教个问题:在您博客看到关于casperjs phantomjs的文章,获益匪浅,但是有个问题,casperjs抓取到的内容我怎么才能保存到数据库里面去呢? 最近公司老板让我写个爬虫,爬网页产品价格之类的,有的数据是js执行之后的数据,所以phantomjs可以做到,另外关于爬虫还有其他的技术吗?忘指教,,多谢啦!...

10
3
发表了问答
2014/11/12 12:30

casperjs 在windows下中文乱码

c:\Temp\casperjs-phantomjs>casperjs test0.backup.js 22222@22 22222 [info] [phantom] Starting... [info] [phantom] Running suite: 3 steps [debug] [phantom] opening url: https://mp.weixin.qq.com/, HTTP GET [debug] [phantom] Navigation requested: url=https://mp.weixin.qq.com/, type=Other, willNavigat...

6
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
6 评论
337 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部