问题标签 [slimerjs]

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 回答
1472 浏览

php - 在网络服务器上通过 PHP 运行 SlimerJS + 无头 Firefox 脚本?

在我的服务器(Ubuntu 14.04.4 LTS)上,我安装了 Firefox,以及xvfb用于无头 Firefox 操作,以及带有 SlimerJS 的 CasperJS。我也有一个运行良好的 CasperJS 脚本。我想从 PHP 中使用这个脚本;这是我的 PHP 脚本的精髓,我们称之为mytest.php


编辑:请注意,该命令也可以是:

...也就是说,没有列出任何 JS 脚本 - 在这种情况下,应该转储帮助(并且是,在 CLI 访问的情况下 - 但通过网络服务器访问时报告与以下相同的错误)


当我从终端命令行(通过 SSH)运行这个 PHP 脚本时,即在 CLI 模式下通过 PHP:

...一切运行良好,没有任何问题。

但是,当我通过网络服务器(即 via )在线调用此 PHP 脚本时http://example.com/mytest.php,它首先失败并出现错误:

...并且在添加--debug=true(如上面的示例中已包含)之后,我还收到此错误:

因此,当通过网络服务器调用 PHP 时,显然我的无头 Firefox 不想运行(在这种情况下,PHP 报告它使用apache2handlerSAPI)。

有谁知道为什么会发生这种情况 - 当从网络服务器调用时,我怎样才能让脚本正确执行,就像它在 PHP CLI 模式下运行一样?


编辑 2:现在也可以通过 CLI 模式重建此错误,并且可以确认它是由于用户造成的;所以没有提供任何 JS 脚本$command,我得到这个:

0 投票
1 回答
123 浏览

filter - 在casperjs中使用Click事件过滤加载新页面的图像?

我正在使用Windows 10casperjs的最新版本。 我创建了一个 casper 实例,如下所示:slimerjs

没关系,不加载图像和字体......如果我使用以下代码:

但是如果我点击页面中的一个元素,它会在新页面中加载所有图像:

我们如何在 casperjs 的点击事件中过滤图像?

0 投票
1 回答
49 浏览

javascript - 将全局变量从一个评估页面传递到另一个

所以我有一些代码,我想在外面传递一个变量,这样我就可以评估另一个页面并注入前一页的代码。

我不是这里的专家,我只是没有掌握这个概念。谁能帮我理解我做错了什么?

0 投票
1 回答
171 浏览

javascript - Casperjs 评估迭代

我想使用 casper 遍历表上的 tr,但我无法在评估函数中获取计数器,我尝试用固定数字替换变量并且它可以工作。

我怎样才能让范围内的评估看到我反击?

0 投票
1 回答
486 浏览

javascript - casperjs无限循环超时不等待

我正在使用 casperjs,我试图获取使用 websockets 更改其值的网站的内容。为了实现这一点,我不想为每个值添加一个事件侦听器,我只想每 10 秒抓取一次整个网站。

我有以下代码:

在 getPrices 中,我可以删除这些值,最后我有以下几行:

问题是我不知道为什么 casper 会忽略超时。它只是在不睡觉的情况下调用它。另一方面,我不认为这是最好的解决方案,因为它是递归的,从长远来看,它最终会得到一个内存堆栈。

我怎样才能做到这一点?

谢谢!

0 投票
2 回答
475 浏览

casperjs - 运行脚本时如何防止 slimerjs 浏览器打开?

这与视口无关。视口没问题。一个是屏幕的视口大小、宽度和高度,另一个是图形界面浏览器(窗口),它是在您运行 casperjs test.js --engine=slimerjs 时打开的。

当我运行 casperjs test.js --engine=slimerjs 时浏​​览器打开是可以的,这对于测试目的非常有用。但是当我停止测试并想做更大的事情时,我不希望浏览器窗口打开 10 次或 100 次。

我已经阅读了一段时间,在文档、谷歌或此处找不到任何内容。

如果这是可能的,请抛出命令,我将非常感激。非常感谢你。

0 投票
0 回答
66 浏览

javascript - 如何通过 CasperJS 使用正确链接的 URL 在 Outlook.com 中自动编写电子邮件

我正在尝试使用 CasperJS 向自己发送一条新消息,并且我需要该消息包含一个链接<a href="www.example.com"></a>

这是我的一小段代码

主要问题是当我使用this.sendKeys()casper 功能将文本发送到正文消息时,它确实将文本发送到您编写消息的框,但我需要 example.com 作为链接到达正文消息,我试过了传递一个<a>html 标签,但它不像我预期的那样工作。

这是我认为解决相同问题的另一个想法。您知道,当您发送消息时,您可以单击“插入超链接”按钮,使用此代码,我进行单击,它会打开一个小窗口,您可以在其中粘贴超链接并按确定。这是代码,一切都很好。

问题是当单击“确定”按钮时,正文消息内没有出现任何超链接。所以我想我需要先选择文本,然后转换为超链接。

0 投票
0 回答
146 浏览

javascript - 如何使用 SlimerJS 获取 websocket 请求的响应正文

我正在尝试使用 SlimerJS 获取 websocket 请求的 response.body。找不到提及该内容的 api 页面/博客。任何指针?

0 投票
1 回答
151 浏览

javascript - 保存在本地存储中的问题

我在 中保存了一些信息localStorage,但重新启动后,我的脚本localStorage为空。据我了解,每次开始我的脚本都会创建新的localStorage.

我可以localStorage直接设置路径吗?也许有人知道 slimerjslocalStorage在 Windows 32 上的保存位置?

我尝试使用webpage.offlineStoragePath = "./";但它不起作用,我没有看到localStorage文件。谢谢您的帮助。

0 投票
1 回答
199 浏览

casperjs - 如何在 Travis CI 中使用 slimer.js?

我在 Travis CI 中使用 casper.js 和 backstop.js 来使用 phantom.js 运行测试。但我更喜欢使用 slimer.js 而不是 phantom.js。

有可能吗?我尝试使用以下方式安装它:

与:

两者都不起作用,我得到一个错误:

我尝试了 application.ini 中指定的不同版本的 FF,但没有任何成功。