问题标签 [casperjs]

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 投票
1 回答
813 浏览

unit-testing - CasperJS 在点击事件和 assertEquals 上使用 CoffeeScript 失败

我有一些 CoffeeScript 文件,我正尝试在 Play 中使用 CasperJS 进行测试!带有 Java 的框架。几个不同的测试都失败了,我不知道为什么。第一种测试是处理click事件。我们正在使用:

这给了我错误:

id #start-hsa-app-button肯定存在的链接。

第二个错误是使用assertEquals. 上述步骤之后的第二步是:

所有断言都返回null

所以对我来说,似乎asserts正在null返回而不是预期值。我的 CoffeeScript 有任何错误吗?我是新手,所以我不能说我确定我做事正确。还是 Play!、CasperJS 和 CoffeeScript 之间的其他交互?

0 投票
1 回答
2244 浏览

javascript - CasperJS 像 for 循环一样多次提交和评估

我正在尝试使用 CasperJS 来自动化一些通常需要大量时间才能完成的步骤。基本上我需要登录到我们的 CMS 并检查是否安装了一些插件。如果它们是,则只需更新它们,但如果它们不是,则创建它们。我设法登录并进入包含插件列表的页面,但我在这里遇到了麻烦。这是我需要做的,用伪代码:

这是代码

会发生什么情况是我的表单连续多次提交,并且在我的“然后”步骤中我最终多次捕获同一页面......如何解决这个问题?

0 投票
2 回答
2532 浏览

javascript - 无法在 casperjs 中使用 xpath 获取元素

我正在使用 casperjs,以下是代码

尽管有很多,但它无法找到任何属性类型为文本的元素。

这是我得到的输出

0 投票
2 回答
1727 浏览

javascript - 从 DOM 上下文调用 casperjs 捕获(评估)

当从评估上下文调用函数时,有什么方法可以调用 casperjs 方法,例如捕获?

说明:我希望能够编写可以在“真实”浏览器或 casper 中运行的 js 脚本(qunit)。

样本 :

我尝试了关闭但失败了:

我知道有一种方法可以使用 console.log 作为消息总线,但我正在寻找更好的解决方案。

谢谢

0 投票
1 回答
4563 浏览

ajax - 具有 AJAX 调用的 CasperJS 单击事件

我正在尝试通过使用带有 phantomJS 1.7.0 的 CasperJS 模拟事件来从站点获取数据。

我能够模拟正常的点击事件并选择事件。但我的代码在以下情况下失败:

当我单击远程页面上的按钮/锚点等时,单击远程页面会启动 AJAX 调用/JS 调用(取决于程序员如何实现该页面。)。

在 JS 调用的情况下,我的代码有效并且我得到了更改的数据。但是对于发起 AJAX 调用的点击,我没有得到更新的数据。

为了调试,我尝试获取元素容器的页面源(之前和之后),但我没有看到代码发生任何变化。

我尝试将等待时间设置为 10 秒到 1 毫秒的范围,但这并不反映行为的任何变化。

下面是我的一段点击代码。我正在使用一组 CSS 路径,它表示要单击的元素。

更新:

我尝试使用 phantomJS 的远程调试选项来调试上面的脚本。它不工作。我在窗户上。我也会尝试在 Ubuntu 上运行远程调试。

请帮我。我将不胜感激这方面的任何帮助。

更新:

请查看以下代码作为示例。

点击前和点击后的内容是一样的。

我点击标签下提供的排序选项(投票/活动等)。

0 投票
1 回答
1075 浏览

javascript - 为什么 [object Casper].test 未定义?

我正在评估 CasperJS 在 Windows 下的测试 API。不幸的是,Casper 对象的 test 属性始终未定义。

运行以下脚本会打印“this.test is undefined”:

有什么提示吗?

0 投票
2 回答
2884 浏览

remote-debugging - CasperJS 远程调试选项

我正在尝试对casperJS使用远程调试选项。

我在端口上运行它6666

调试器启动,我可以在 url 上访问 WebKit 检查器

我将第一个 URL 视为about:blank.

当我单击它时,会加载网页检查器。

当我输入_run()控制台时,我得到

参考错误,_run 未定义错误。

我无法继续前进。如果我需要在某处进行更正,请告诉我。

另外,我是否必须在 CasperJS 脚本中设置显式断点。如果我必须,那怎么办?

更新 1

试过 --remote-debugger-autorun=yes

这将按照帮助中的说明立即运行脚本。但是,调试器仍然运行并且进程不会退出。

输出

现在我可以在 about:blank 下面看到请求的 URL。

当我单击 about:blank 或请求的 url 时,WebKit 检查器打开。

但我又被困住了。

更新 2

还尝试执行使用 phantomJS 移植的示例。

结果是一样的。我被困在一个空白的 WebKit Inspector 窗口上。

0 投票
2 回答
6108 浏览

php - 使用 PHP 的 exec() 会出现错误:致命:[Errno 2] 没有这样的文件或目录;你安装了吗

我正在尝试将 PHP 用于exec()二进制文件casperjs

但我得到了错误

CasperJS 运行在 PhantomJS 之上,我手动安装并/usr/local/bin/phantomjs/usr/local/bin/casperjs. 所以我猜 casperjs 在运行时会调用 phantomjs。

但是,当我 ssh 进入服务器并运行时,它工作正常

什么地方出了错?我认为casperjs不能phantomjs以网络用户身份运行?如果这是真的,如何解决?

0 投票
1 回答
702 浏览

javascript - 检查/记录 PhantomJS/CasperJS 使用了多少带宽

是否可以检查/记录在 PhantomJs/CasperJS 的每次运行期间传输了多少数据?

Phantom/Casper 的每个实例都有一个instance_id分配给它(由启动该实例的 PHP 函数)。运行完成后,传输的数据量和数据instance_id必须插入到 MySQL 数据库中,可能是通过生成实例的 PHP 函数。这样可以记录单个 phantomjs 运行的带宽利用率。

可能有许多幻象/casper 实例正在运行,每个实例持续一两分钟。

0 投票
1 回答
604 浏览

javascript - Phantomjs:如何让 Casperjs 在我的 web 应用程序上工作

目前,当我使用 Phantomjs/CasperJS 时,这一切都是通过他们的示例通过控制台完成的。

这是我将它与我当前的 Web 应用程序结合使用的一种方式吗?

示例:使用我的站点填写表格,该信息被发送到 CasperJS,然后 casper 向站点返回响应。ETC...