【问题标题】:Include multiple JavaScript before the code runs in PhantomJS? [duplicate]在 PhantomJS 中运行代码之前包含多个 JavaScript? [复制]
【发布时间】:2018-07-04 18:30:32
【问题描述】:

我想在 PhantomJS 中包含多个 javascript。 page.includeJS / page.injectJS 不显示包含多个脚本的选项。你能提供一个相同的工作示例吗?

代码:

page.open('index.html', function (openStatus) {
  console.log("OPen Status is "+openStatus)
  if(openStatus == 'success') {
    page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', function(jStatus) {
      console.log("Jquery status: "+jStatus)
      (page.includeJs('jquery.textillate.js', function(tStatus) {
        console.log("Text status: "+tStatus)
        (page.evaluate(function () {
          var tag = document.getElementById("main-tag")
          tag.innerHTML = "Hello World"
          document.getElementById("main-tag").textillate({ 
            maxDisplayTime: 2000,
            in: { effect: 'fadeInUp',
            delay: 7000 } 
          });
          console.log('Textilate is: '+tag) 
        }))
      }))
    })
    // setInterval(function() {
    //   page.render('/dev/stdout', { format: "png" });
    //   if( frames == 0 ){
    //       phantom.exit();
    //   }
    //   frames--;
    // }, 40);
  }
});

错误: undefined 不是构造函数(评估 'document.getElementById("main-tag").textillate({

【问题讨论】:

  • 你有什么错误?
  • @AGoranov 只是无法加载多个 JS 文件。这是错误“TypeError: undefined is not a constructor (evalating 'document.getElementById("main-tag").textillate({" Trying to use texillate.js which requires jQuery.
  • @Cerbrus 我的问题是包含多个 JS 文件并且不只注入一个
  • 所以?有什么问题?是什么阻止您使用欺骗目标中描述的方法包含多个文件?
  • @Cerbrus 脚本只是没有加载。你能提供一个可行的例子吗?

标签: javascript jquery node.js phantomjs


【解决方案1】:

undefined is not a constructor 表示您正在调用未定义的方法。 jquery.textillate.js 很可能对目标页面不可用,因为从代码示例判断它是一个本地脚本,并且要在 page.evaluate 中使用它,您应该使用 page.injectJs 方法。

还要回答您的另一个问题:有一种更简单的方法可以注入多个脚本。只需将它们全部放在一个捆绑的本地脚本中并注入即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2021-04-15
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多