问题标签 [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.
less - 通过phantomJS编译lesscss文件
hej 我想在用 maven 构建项目时编译 lesscss 文件。查看lesscss站点,可以像这样在html文件的head部分编译引用它们的文件
phantom 的脚本可以访问本地硬盘驱动器上的任何文件,因此应该可以遍历 *.less 文件。现在的问题是如何编译这些文件并使用 css 扩展名将它们保存回来。
遗憾的是命令行仅在安装到节点时可用(或者我可能错了??)
感谢您的任何提示
javascript - 如何使用 PhantomJS 提交表单
我正在尝试使用 phantomJS(顺便说一句,多么棒的工具!)为我拥有登录凭据的页面提交表单,然后将目标页面的内容输出到标准输出。我可以使用幻像成功访问表单并设置其值,但我不太确定提交表单和输出后续页面内容的正确语法是什么。到目前为止,我所拥有的是:
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 从正确的路径加载脚本?
javascript - phantomjs 和 run-jasmine.js 超时
所以我有一个奇怪的问题。
我有一个 Jasmine 测试运行器在我的机器上本地运行,可在 localhost:8080/test/runner.html
当我在网络浏览器中打开它时,它可以完美运行。
我想自动执行此操作,因此我使用了 phantomjs(从 brew 安装——我在 Mac 上),并且我使用了代码中的示例 run-jasmine.js 文件。
但是,每当我对 URL 运行它时,我都会得到:
所以我写了一个非常简单的脚本来看看是否有我遗漏的东西:
并创建了一个新的 HTML 文件:
事情仍然永远挂起。
我在这里错过了什么吗?我知道页面正在加载,但它看起来不像 phantomjs 正在解析它。
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:
javascript - 使用 CasperJS 和 PhantomJS 抓取 Google 关键字工具
我目前正在尝试使用CasperJS和 PhantomJS(这两个出色的工具,感谢 n1k0 和 Ariya)来抓取 Google 关键字工具,但我无法让它工作。
这是我目前的流程:
- 使用我的 Google 帐户登录(以避免在关键字工具中出现验证码)。
- 导航到关键字工具页面。
- 填写搜索表格并按
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 网站的人感兴趣。
c# - PhantomJS 的问题:phantom.args 似乎不起作用
这是我在 cmd.exe 中通过键入(例如)运行的 PhantomJS 测试项目:
算盘.js:
对于为什么 phantom.args & name/pass 突然失去它们的价值,任何帮助都将不胜感激。
我在 C# 中运行 cmd.exe,因为名称和密码不时更改并保存在数据库中。这只是一个小测试程序,看看是否可以完成。
(另外,感谢 Stack Overflow 一开始就给了我大部分代码)
node.js - 如何在 node.js 中使用 CasperJS?
我想在 node.js 中使用 CasperJS。
我参考了以下 URL 在 node.js 中使用 CasperJS:
在上述 URL 的帮助下,我编写了以下代码:
当我运行此代码时,出现以下错误:
错误信息: