问题标签 [phantomjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
phantomjs - 加快 phantomjs 屏幕捕获时间?
在运行 PhantomJS 提供的 rasterize.js 示例时,我发现我必须等待 20 秒或更长时间才能生成网页图像。
有没有可能在不消耗大量资源的情况下加快速度的方法?我基本上希望快速生成从加载了 PhantomJS 的网页中捕获的一系列连续图像。如果我能以某种方式将 Phantomjs 输出到视频流中,那就太好了。
现在我会寻找一些只用 PhantomJS 在 1~2 秒范围内截取网页截图的东西。如果已经有一个项目或库可以做到这一点,那也很棒。
javascript - phantomjs 总是在 Windows 上给出解析错误
这听起来像是一个愚蠢的问题,但我似乎完全不知道为什么
我下载了 Windows 二进制文件并遵循快速入门说明并尝试使用示例,但是无论何时我在控制台中输入任何内容,我总是会收到“解析错误”
我试过了:
和一些示例脚本,我总是得到“解析错误”
hello.js 文件只有这个
console.log('Hello, world!');
phantom.exit();
我不知道出了什么问题...任何帮助将不胜感激...我敢肯定这会变得很愚蠢,因此感谢您的宝贵时间!谢谢
javascript - Phantom.js 不能从 OSX 控制台运行
我正在开发一个 ExtJS 应用程序,我想使用 Phantom.js 将视图呈现为 pdf。我已经下载了 OSX 的二进制包,解压后添加了一个符号链接并将其添加到 PATH 中。在控制台中运行“phantomjs”后,我得到:
就这样。当我尝试运行任何示例脚本时,它会崩溃说require is undefined
,我无法检查版本,基本上它是不可用的。我可以运行 bat 文件,它给了我 phantomjs shell。删除我之前下载的所有内容后,我仍然可以运行具有相同结果的“phantomjs”命令。可能是因为 Sencha 的 SDK 有它,但它在 PATH 中不可见,所以我不确定。有任何想法吗 ?
installation - 在 ubuntu 11 上安装 phantomjs
我遵循了两个安装指南,这个:http ://code.google.com/p/phantomjs/wiki/Installation
这个:http: //yoodey.com/comment/10803
两次,问题是 bin 目录应该包含一个名为 phantomjs 的文件,但它没有。对于第一个指南,它只包含一个 Info.plist 文件,而在第二个指南中,bin 是空的。
phantomjs - 无法让 PhantomJS 使用一个简单的示例
我已经下载了可执行文件并创建了一个指向 /usr/local/bin 的 simlink。
我在 Mac OSX 10.7 下
然后,当我尝试运行需要某些模块的脚本时,即
我有一个错误
好像'require'不被视为保留字,而是被解释为变量符号。
(顺便说一句,每当我吃午饭时,我的 Dock 中都会出现一个 Sencha Touch 图标)
unit-testing - 在使用 phantomjs 和 jasmine 进行单元测试时拍摄网页快照
我似乎无法让 jasmine 和 phantomjs 正常工作。我正在使用 phantomjs 的示例文件夹中的 run-jasmine.js 文件。我得到的问题是文件找不到系统,所以它不能要求它。
这是具体消息:
最重要的是,我想知道如何使用 jasmine 对 html 文件进行 dom 操作。
编辑:看起来 DOM 问题很简单,因为它只是使用 phantom js 的无头浏览器功能。我仍然有系统问题,我想知道如何在每次测试之间调用渲染页面,而不是在页面加载完成时调用。
javascript - 从本地 js 脚本到本地 Phantom.js 服务器的 Ajax 调用
我已经设置了一个本地运行的 Apache 服务器来托管我的 Web 应用程序(用 ExtJs 编写)。我还有一个用 phantom.js 制作的第二个本地服务器,并在端口 8080 上监听:
现在我想从我的应用程序向幻像服务器发出 Ajax 请求:
但是当运行这个脚本时,我得到:
"NetworkError: 400 Bad Request - http://localhost:8080/?_dc=1336648497292"
在控制台中。此操作是否违反同源策略?或者是别的什么 ?转到 localhost:8080 显示正确的响应,因此服务器运行正常。
javascript - 如何将在服务器上运行的页面生成为 PDF
这项任务并不容易,因为我需要在单击按钮后创建页面的 PDF 版本。它具有复杂的dom结构,许多元素绝对/相对定位,并且数据是动态加载的。我考虑过使用 Phantom.js 服务器来完成这项任务,因为它可以生成 PDF,但这会带来一些问题;
- phantomjs 可以从控制台运行(这是不可能的,因为生成 PDF 必须在 UNIX 和 WIN 系统上都可用,并且只能从页面运行 shell 脚本)或使用它内置的服务器
- 服务器与运行页面的服务器具有不同的域,因此出现了相同的源策略问题。我正在考虑使用带有 phantomjs 服务器地址的 iframe 作为 src 和我的页面 html 传入参数,但参数太长并返回 413 错误。JSONP 不起作用,因为它是为 GET 请求构建的,并且出现了参数过长的相同问题。
我也考虑过在客户端生成它,但由于网站的复杂性,我可能需要很多天才能获得页面的正确表示(因为所有定位值都需要重新计算为 pts),而且它必须是一个通用的解决方案。
任何其他想法如何解决这个问题?
javascript - 如何使用 PhantomJS 测试网页是否返回 404/500?
我是 PhantomJS 和 Javascript 的新手,我正在编写一个测试加载时间的脚本,我希望它能够检测在测试时是否遇到错误 404/500,并在 console.log 中显示和消息. 代码如下:
非常感谢您的帮助。谢谢
javascript - PhantomJS 使用返回 null 的基本身份验证进行评估
我正在尝试在具有基本始终身份验证的页面上使用 PhantomJS,例如,此页面
http://alexturpin.net/auth ( test:rosebud
)
使用以下代码
我得到这个输出
无论我尝试什么,evaluate
都会继续返回null
,即使页面似乎因为status
包含而打开得很好"success"
。
如果我决定打开一个没有基本身份验证的页面,例如http://alexturpin.net/noauth,我仍然会得到相同的结果。只有当我最终在打开页面之前完全删除身份验证设置时,它才会起作用。
身份验证设置的使用似乎与evaluate
. 这是 PhantomJS 中的错误,还是我错过了什么?