问题标签 [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.
unit-testing - CasperJS 在点击事件和 assertEquals 上使用 CoffeeScript 失败
我有一些 CoffeeScript 文件,我正尝试在 Play 中使用 CasperJS 进行测试!带有 Java 的框架。几个不同的测试都失败了,我不知道为什么。第一种测试是处理click
事件。我们正在使用:
这给了我错误:
id
#start-hsa-app-button
肯定存在的链接。
第二个错误是使用assertEquals
. 上述步骤之后的第二步是:
所有断言都返回null
:
所以对我来说,似乎asserts
正在null
返回而不是预期值。我的 CoffeeScript 有任何错误吗?我是新手,所以我不能说我确定我做事正确。还是 Play!、CasperJS 和 CoffeeScript 之间的其他交互?
javascript - CasperJS 像 for 循环一样多次提交和评估
我正在尝试使用 CasperJS 来自动化一些通常需要大量时间才能完成的步骤。基本上我需要登录到我们的 CMS 并检查是否安装了一些插件。如果它们是,则只需更新它们,但如果它们不是,则创建它们。我设法登录并进入包含插件列表的页面,但我在这里遇到了麻烦。这是我需要做的,用伪代码:
这是代码
会发生什么情况是我的表单连续多次提交,并且在我的“然后”步骤中我最终多次捕获同一页面......如何解决这个问题?
javascript - 无法在 casperjs 中使用 xpath 获取元素
我正在使用 casperjs,以下是代码
尽管有很多,但它无法找到任何属性类型为文本的元素。
这是我得到的输出
javascript - 从 DOM 上下文调用 casperjs 捕获(评估)
当从评估上下文调用函数时,有什么方法可以调用 casperjs 方法,例如捕获?
说明:我希望能够编写可以在“真实”浏览器或 casper 中运行的 js 脚本(qunit)。
样本 :
我尝试了关闭但失败了:
我知道有一种方法可以使用 console.log 作为消息总线,但我正在寻找更好的解决方案。
谢谢
ajax - 具有 AJAX 调用的 CasperJS 单击事件
我正在尝试通过使用带有 phantomJS 1.7.0 的 CasperJS 模拟事件来从站点获取数据。
我能够模拟正常的点击事件并选择事件。但我的代码在以下情况下失败:
当我单击远程页面上的按钮/锚点等时,单击远程页面会启动 AJAX 调用/JS 调用(取决于程序员如何实现该页面。)。
在 JS 调用的情况下,我的代码有效并且我得到了更改的数据。但是对于发起 AJAX 调用的点击,我没有得到更新的数据。
为了调试,我尝试获取元素容器的页面源(之前和之后),但我没有看到代码发生任何变化。
我尝试将等待时间设置为 10 秒到 1 毫秒的范围,但这并不反映行为的任何变化。
下面是我的一段点击代码。我正在使用一组 CSS 路径,它表示要单击的元素。
更新:
我尝试使用 phantomJS 的远程调试选项来调试上面的脚本。它不工作。我在窗户上。我也会尝试在 Ubuntu 上运行远程调试。
请帮我。我将不胜感激这方面的任何帮助。
更新:
请查看以下代码作为示例。
点击前和点击后的内容是一样的。
我点击标签下提供的排序选项(投票/活动等)。
javascript - 为什么 [object Casper].test 未定义?
我正在评估 CasperJS 在 Windows 下的测试 API。不幸的是,Casper 对象的 test 属性始终未定义。
运行以下脚本会打印“this.test is undefined”:
有什么提示吗?
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 窗口上。
php - 使用 PHP 的 exec() 会出现错误:致命:[Errno 2] 没有这样的文件或目录;你安装了吗
我正在尝试将 PHP 用于exec()
二进制文件casperjs
,
但我得到了错误
CasperJS 运行在 PhantomJS 之上,我手动安装并/usr/local/bin/phantomjs
在/usr/local/bin/casperjs
. 所以我猜 casperjs 在运行时会调用 phantomjs。
但是,当我 ssh 进入服务器并运行时,它工作正常
什么地方出了错?我认为casperjs
不能phantomjs
以网络用户身份运行?如果这是真的,如何解决?
javascript - 检查/记录 PhantomJS/CasperJS 使用了多少带宽
是否可以检查/记录在 PhantomJs/CasperJS 的每次运行期间传输了多少数据?
Phantom/Casper 的每个实例都有一个instance_id
分配给它(由启动该实例的 PHP 函数)。运行完成后,传输的数据量和数据instance_id
必须插入到 MySQL 数据库中,可能是通过生成实例的 PHP 函数。这样可以记录单个 phantomjs 运行的带宽利用率。
可能有许多幻象/casper 实例正在运行,每个实例持续一两分钟。
javascript - Phantomjs:如何让 Casperjs 在我的 web 应用程序上工作
目前,当我使用 Phantomjs/CasperJS 时,这一切都是通过他们的示例通过控制台完成的。
这是我将它与我当前的 Web 应用程序结合使用的一种方式吗?
示例:使用我的站点填写表格,该信息被发送到 CasperJS,然后 casper 向站点返回响应。ETC...