问题标签 [nightmare]
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.
node.js - 提取数据的噩梦和循环方法
我想使用 Nightmare npm 从网站上获取所有链接。然后浏览每个链接并获取标题和正文。我有这段代码,当我传递单个链接时它工作正常,但是当我想循环通过第一个函数的结果时,我得到一个错误,emmit.setMaxListeners []...感谢您的帮助。
node.js - 如何使用 nightmarejs 正确停止 phantomjs 实例
我想使用噩梦获取我的网络应用程序的屏幕截图。当运行代码时没有错误并且出口干净时,不会留下任何 phantomjs 实例。
但是,当出现 web 未运行等错误时,选择器不存在。phantomjs 的实例保持未退出。
即使出现任何错误,我如何才能正确退出其实例?
node.js - 为什么 nightmare.js 示例不起作用?
为什么这个测试总是评估为真?
即使我更改比较值,此测试也会评估为真。如果我在期望之前添加一个 console.log,它不会打印,这让我觉得测试永远不会被评估,并且对于 chai 来说空响应是正确的。我正在运行 node v4.2.2,以及最新版本的 nightmare 和 expect。我使用 mocha index.js(此文件的名称)从终端运行测试。
javascript - 用噩梦自动化 ajax 生成的网站
我正在使用Nightmare来自动化网站。到目前为止一切都很好,但我注意到当我想与动态加载的内容进行交互时它会出现一些问题。甚至还有一种方法,它等待一个元素出现在页面上.wait(#elementId)
,但它不适用于动态生成的内容。
以前有人遇到过这个问题吗,或者你能推荐一些其他的技术吗?我喜欢噩梦的是,它实际上并不是无头的,并且通过它与 Electron 的集成,它还有一个 GUI,可以显示所做的一切。如果这可能的话,我更愿意。
编辑
为了更好地说明我的担忧,这是我正在使用的代码,但已抽象:
假设我想在 上搜索https://www.google.com
,但搜索表单是通过库动态生成的。我的代码看起来像这样
但由于input[name="search"]
不是用html编写的,而是在页面加载后生成的,即使我可以在GUI中看到它,但刮板却无法识别它,并且将永远等待。我猜它只适用于静态代码。有没有办法在一段时间后更新html,或者类似的东西?
javascript - nightmare.js 没有返回任何输出
我尝试使用以下命令运行我的 test.js 文件:
并输出:
测试.js:
没有截图和链接访问。有什么想法吗?
注意:我正在使用 Linux 来宾开发 Virtual Box。
javascript - 在 Nightmare.js (Electron) 中清除缓存
我正在使用噩梦 js 登录到在本地存储中设置令牌的站点。但是,我对用户运行的任何未来测试都已经登录。我猜本地存储没有被清除。有没有办法做到这一点?我在test.js中的代码
我使用以下方式运行测试:mocha
测试运行良好并关闭。但是,当我再次运行时,用户以登录状态开始。无论如何要清除 nightmarejs 中的缓存或本地存储?
Electron 有一种方法可以通过session.clearCache
(http://electron.atom.io/docs/v0.32.0/api/session/)清除会话信息,但我不知道如何从噩梦中访问会话对象。
javascript - 在 Nightmare 中将 DOM 元素写入浏览器控制台
我正在使用 NightmareJS 进行无头浏览。我的代码如下所示:
我需要经常使用console.log
. 但是,console.log
似乎在.evaluate块内不起作用。
如何将.evaluate中的内容记录到控制台?
node.js - NightmareJS 不会向终端返回任何内容?
我复制粘贴了Github上的示例:
应用程序.js:
我做了:npm install nightmare vo
然后node --harmony app.js
没有输出:
没有任何错误消息。可能是什么问题?
(我在 Ubuntu 上运行 node v5.2.0。)
node.js - 找不到带有噩梦和nodejs的模块“浏览器窗口”
我很难从 nodejs 运行噩梦。我从自述文件中提供的示例开始,尝试了不同版本的电子预构建和不同的调整,但我总是得到找不到浏览器窗口模块的节点。这是我的测试:
有人可以告诉我我在这里缺少什么吗?