javascript - meteor 的 Nightmare 引发异常

标签 javascript node.js exception meteor nightmare

我与 Nightmare
npm install nightmare-保存在我的 meteor 项目中。
然后,我尝试在模板帮助器方法中运行梦sample示例代码:

Template.nighmare.events({
  "click #doSomething"() {

    let Nightmare = require('nightmare');
    let nightmare = Nightmare({ show: true });

    nightmare
      .goto('https://duckduckgo.com')
      .type('#search_form_input_homepage', 'github nightmare')
      .click('#search_button_homepage')
      .wait('#zero_click_wrapper .c-info__title a')
      .evaluate(function () {
        return document.querySelector('#zero_click_wrapper .c-info__title a').href;
      })
      .end()
      .then(function (result) {
        console.log(result);
      })
      .catch(function (error) {
        console.error('Search failed:', error);
          });
    }
})

当从(单击按钮)调用此代码时,出现异常:
Uncaught TypeError: fs.existsSync is not a function
    at meteorInstall.node_modules.electron.index.js (modules.js?hash=1ae810a…:109967)
    at fileEvaluate (modules-runtime.js?hash=0969a31…:207)
    at require (modules-runtime.js?hash=0969a31…:130)
    at meteorInstall.node_modules.nightmare.lib.nightmare.js (modules.js?hash=1ae810a…:107767)
    at fileEvaluate (modules-runtime.js?hash=0969a31…:207)
    at require (modules-runtime.js?hash=0969a31…:130)
    at Object.click #doSomething (app.js:4330)
    at blaze.js?hash=813922c…:3774
    at Function.Template._withTemplateInstanceFunc (blaze.js?hash=813922c…:3743)
    at Blaze.View.<anonymous> (blaze.js?hash=813922c…:3773)

我不知道如何解决此问题,任何提示或提示将不胜感激!

遇到 meteor 和 Nightmare 的人可以一起工作吗?

如果我将相同的代码放在test.js文件中,并在其自己的项目中与 Node test.js一起运行,则效果很好。

最佳答案

Nightmare应该在Node上运行,而不是直接在浏览器中运行。

您在Template.template_name.events中的代码在客户端的浏览器上执行,因此会出现错误消息。

您可以通过将Nightmare代码移至“仅服务器”方法中,然后在事件处理程序中调用该方法,来尝试实现所要执行的操作。

关于javascript - meteor 的 Nightmare 引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44047809/

相关文章:

javascript - 如何在vscode的外部文件中获取express中间件的智能感知?

jquery - 带环回的文件上传

node.js - NodeJS 模块安装程序未设置 PATH 变量

java - 写入文件时未知来源

java - 如何在 java 应用程序中的 bean 初始化失败时终止 jboss

javascript - 通过单击图像将 1 求和到一个值 - PHP

javascript - WebGL - 更改对象之间的颜色

javascript - 在电子邮件类型的 HTML 输入字段中输入空格时,Chrome 不会触发 onchange 事件

javascript - 类定义中的 for 循环 javascript

unit-testing - 如何测试 Clojure 中抛出的异常?