PhantomJS

WebKit 的服务器端 API
授权协议 BSD
开发语言 C/C++
所属分类 Web应用开发、 服务器端JavaScript
软件类型 开源软件
地区 不详
投 递 者 吕德业
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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.

其他一些相关项目

  • phantomjs简介 phantomjs是一个测试工具,也可以用来写爬虫。可以当作是一个浏览器来使用,只是这个浏览器没有界面,被称为无头浏览器(handless)。 安装 1.官网下载 http://phantomjs.org/ 将压缩包解压到D盘phantomjs文件夹下,打开bin目录下的phantom.exe,即可开始使用phantomjs。 下载完成后将PhantomJS 可执行文件所

  •     在爬虫、自然语言处理群320349384中的交流中,偶然接触到phantomjs、casper等相对于httpclient较新的框架及采集解决方案,微查之后发现方案可行,故尽清明三日之力,将其二次开发应用于百度元搜索信息采集项目中,达到预期效果,下一步将重点应用到腾讯微博采集和抢票抢手机项目中。下面,将分步骤介绍一下。     一、phantomjs介绍      (1)一个基于webki

  • Python爬虫——PhantomJS和handless的使用 1、PhantomJS的使用 PhantomJS 简介 PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器,它会把网站加载到内存并使用webkit来编译解释执行页面上的JavaScript代码,由于不进行css和gui渲染、不展示图形界面,所以运行起来比完整的浏览器要高效。 如果把 Selenium 和

 相关资料
  • 问题内容: 说我有一个用perl或python编写的脚本。编写在字符串上使用jQuery选择器的函数的最简单方法是什么?即能够做到: 其中的功能是对存储在中的html字符串运行jquery选择器。即使只限于返回字符串(不是完整的jquery对象),它仍然会非常有用。即,如果您需要提供一个JavaScript函数作为回调,这将使结果呈现为脚本语言可理解的内容: 并且它将以列表形式返回回调的结果。 我

  • [warning] 注意 安装前需要保证服务器端与G01云中心的443端口通信保持畅通,可以通过命令 telnet www.gov110.cn 80,telnet apiv.gov110.cn 443,telnet update.gov110.cn 80 telnet scan.gov110.cn 80,telnet monitor.gov110.cn 80,telnet alive.gov110

  • [warning] 注意 安装前需要保证服务器端与G01云中心的通信保持畅通,可以通过命令 telnet www.gov110.cn 80,telnet apiv.gov110.cn 443,telnet update.gov110.cn 80 telnet scan.gov110.cn 80,telnet monitor.gov110.cn 80,telnet alive.gov110.cn 4

  • 问题内容: 实施GWT服务器端国际化的最佳方法是什么? 使用本地Java属性文件(不确定如何读取以及如何找到正确的语言文件)(unicode字符串需要ASCII编码) 使用GWTI18N.java -GWT模块,该模块可让您在客户端和服务器上无缝使用GWT I18N,并使用“ java.lang.reflect.Proxy方法” 使用Kotori I18N -… 还有其他想法吗? 如何找到本地化并

  • 如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如

  • 在本节中,我们将讨论如何对服务器端进行攻击。服务器端攻击不需要用户交互。这些攻击可以与Web服务器一起使用。我们也可以将它们用在人们每天使用的普通计算机上。为了进行这些攻击,我们将针对一个Metasploitable设备。我们将在Melasploitable设备上使用它的原因是,如果我们的目标使用个人计算机,并且如果它们与我们不在同一网络上,那么即使我们设法获取其IP地址,其IP地址同在于路由器的

  • info 如果您能了解下面这些技术,能加快您对本文的了解 vuex - Vue.js 应用程序开发的状态管理模式 Vue.js SSR - Vue.js 服务器端渲染 webpack - 编译构建工具 Lavas 服务器端渲染模板参考了 vue-hackernews 的渲染和开发机制,并且结合了 Lavas 的 App Shell 模板,导出的工程中会有 App Shell 等 如果您不了解 vu

  • React 提供了两个方法 renderToString 和 renderToStaticMarkup 用来将组件(Virtual DOM)输出成 HTML 字符串,这是 React 服务器端渲染的基础,它移除了服务器端对于浏览器环境的依赖,所以让服务器端渲染变成了一件有吸引力的事情。 服务器端渲染除了要解决对浏览器环境的依赖,还要解决两个问题: 前后端可以共享代码 前后端路由可以统一处理 Rea