0

spookyjs を使用して Web スクレイパーを構築しています: https://github.com/WaterfallEngineering/SpookyJS

新しい不気味なオブジェクトを作成し、特定の html タグの内容を返す関数を評価しようとしています。読みやすくするために、関数 (returnDataFromSelector()) を使用して毎回これを実行しようとしています。ただし、評価を介して関数を渡すと、null が返されます。

匿名関数を使用すると、正しく機能します。returnDataFromSelector 関数を正しく動作させるにはどうすればよいですか?

   spooky.then(function() {
      function returnDataFromSelector(selector) {
        return function () {
          return document.querySelectorAll(selector)[0].innerHTML;
        }
      }
      var pageData = {};
      pageData.projectName = this.evaluate(returnDataFromSelector('a.green-dark')); // returns null
      pageData.projectName = this.evaluate(function () { return document.querySelectorAll('a.green-dark')[0].innerHTML;}); // returns correct string
      this.emit('pageData', pageData);
    });
4

1 に答える 1