问题标签 [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.

0 投票
2 回答
654 浏览

less - 通过phantomJS编译lesscss文件

hej 我想在用 maven 构建项目时编译 lesscss 文件。查看lesscss站点,可以像这样在html文件的head部分编译引用它们的文件

phantom 的脚本可以访问本地硬盘驱动器上的任何文件,因此应该可以遍历 *.less 文件。现在的问题是如何编译这些文件并使用 css 扩展名将它们保存回来。

遗憾的是命令行仅在安装到节点时可用(或者我可能错了??)

感谢您的任何提示

0 投票
4 回答
126136 浏览

javascript - 如何使用 PhantomJS 提交表单

我正在尝试使用 phantomJS(顺便说一句,多么棒的工具!)为我拥有登录凭据的页面提交表单,然后将目标页面的内容输出到标准输出。我可以使用幻像成功访问表单并设置其值,但我不太确定提交表单和输出后续页面内容的正确语法是什么。到目前为止,我所拥有的是:

0 投票
1 回答
2099 浏览

teamcity - PhantomJS 没有从带有测试的 html 页面正确加载脚本

PhantomJS 没有加载脚本,因为它试图在以下路径加载它们:file:///[src specified in html file]。在 html 文件中,脚本的路径是相对的,我不想让它们成为绝对的(正在按照这个示例http://thomasardal.com/tag/phantomjs/进行操作)。因此,例如在我拥有的 html 页面中<script type="text/javascript" src="jquery-1.7.0.js"></script>,PhantomJS 尝试从不存在的 file:///jquery-1.7.0.js 加载它。如何让 PhantomJS 从正确的路径加载脚本?

0 投票
1 回答
532 浏览

javascript - 带有 phantomjs 或 pjscrape 的横幅刮板

是否可以使用phantomjspjscrape开发一个允许用户输入 URL 并提取与该 URL 关联的所有横幅广告的刮板?

0 投票
1 回答
2273 浏览

javascript - phantomjs 和 run-jasmine.js 超时

所以我有一个奇怪的问题。

我有一个 Jasmine 测试运行器在我的机器上本地运行,可在 localhost:8080/test/runner.html

当我在网络浏览器中打开它时,它可以完美运行。

我想自动执行此操作,因此我使用了 phantomjs(从 brew 安装——我在 Mac 上),并且我使用了代码中的示例 run-jasmine.js 文件。

但是,每当我对 URL 运行它时,我都会得到:

所以我写了一个非常简单的脚本来看看是否有我遗漏的东西:

并创建了一个新的 HTML 文件:

事情仍然永远挂起。

我在这里错过了什么吗?我知道页面正在加载,但它看起来不像 phantomjs 正在解析它。

0 投票
1 回答
4788 浏览

javascript - 如何从 shell 中截取网页的一部分?

我有一个网页的一部分,我需要在给定的时间间隔拍摄 gif 快照。快照需要是全页大小的分辨率,但是正如我所说,它只会到达页面上的某个位置(在这种情况下,它位于表格之后)。

像这样抓取页面快照图像的最佳方法是什么?我想把它扔到一个 cron 工作中然后忘记它,但我并不容易看到一个可以快速完成这个工作的工具。

解决方案:

根据@Eduardo 的出色指导,我实现了一个基于 phantomjs 和 imagemagick (Mac: brew install phantomjs& brew install imagemagick) 的干净快速的解决方案:

*注意:如果您想完全删除 imagemagick,只需将以下内容添加到 rasterize.js:page.clipRect = { top: 10, left: 10, width: 500, height: 500 }

而这里是上面phantomjs使用的js:

0 投票
3 回答
3866 浏览

javascript - 使用 CasperJS 和 PhantomJS 抓取 Google 关键字工具

我目前正在尝试使用CasperJS和 PhantomJS(这两个出色的工具,感谢 n1k0 和 Ariya)来抓取 Google 关键字工具,但我无法让它工作。

这是我目前的流程:

  1. 使用我的 Google 帐户登录(以避免在关键字工具中出现验证码)。
  2. 导航到关键字工具页面。
  3. 填写搜索表格并按Search

我被困在第 3 步:搜索表单不是常规的 HTML 表单,我不能使用Casper#fill(),所以我直接访问这些字段。以下是我尝试更改Word or phrase字段值的一些语法:

没有任何效果。我正在Casper#capture()查看该字段包含的内容。如您所见,它确认我在正确的页面上并且我已登录,但它<textarea>是空的。

奇怪的是,我可以访问 DOM 的其他部分:我可以通过执行以下操作来更改链接的文本Advanced Options and Filters___VINCE SAYS HELLO___请参阅捕获):

PS。我知道抓取 Google 关键字工具是违反 TOS 的,但我认为这个问题可能对任何试图抓取 JavaScript/Ajax-heavy 网站的人感兴趣。

0 投票
3 回答
2019 浏览

unit-testing - 测试 Web 应用程序的 UI?

我已经在使用单元测试来确保我当前的 Web 应用程序中的所有关键部分都能正常工作。但是如何测试 UI 以确保在用户点击按钮时发生正确的响应?- 我的意思是,如果按钮突然消失或停止工作,真的会弄得一团糟signup,所以我想执行这种 UI 测试也是常识。

从我到目前为止所读到的。Selenium, PhantomJS&似乎做我想做的事,但我对它们知之甚少。Zombie

但是还有哪些其他替代方案可用,在进行此类单元测试之前应该考虑什么?

0 投票
1 回答
1397 浏览

c# - PhantomJS 的问题:phantom.args 似乎不起作用

这是我在 cmd.exe 中通过键入(例如)运行的 PhantomJS 测试项目:

算盘.js:

对于为什么 phantom.args & name/pass 突然失去它们的价值,任何帮助都将不胜感激。

我在 C# 中运行 cmd.exe,因为名称和密码不时更改并保存在数据库中。这只是一个小测试程序,看看是否可以完成。

(另外,感谢 Stack Overflow 一开始就给了我大部分代码)

0 投票
6 回答
42639 浏览

node.js - 如何在 node.js 中使用 CasperJS?

我想在 node.js 中使用 CasperJS。

我参考了以下 URL 在 node.js 中使用 CasperJS:

在上述 URL 的帮助下,我编写了以下代码:


当我运行此代码时,出现以下错误:

错误信息: