4

私はphantomjsを使用して多くのページをテストし、コードをよりクリーンにしようとしています。他の関数またはモジュールからpage.openを実行してpage.evaluateを呼び出すことは可能ですか。今 :

page.open(ADDRESS, function(status) {
           if (status == 'success') {
              page.evaluate(function() {
                return document.querySelector('.error');
                ...... do some more checks
              }):
              .....Run some other code
           }

私がしたいこと:

file check.js : exports.check = function() {
                 page.evaluate(function() {
                return document.querySelector('.error');
                ...... do some more checks
              }):

そして、main.jsまたは他のファイルでは、check.jsのこの関数を呼び出してチェックを実行します。これはおそらく参照によってこの関数を呼び出す必要がありますが、これを行う方法がわかりません。これができれば、すべてのファイルサイズが小さくなり、コードが読みやすくなります。

4

1 に答える 1

0
exports.check = function(page){ page.evaluate(function() {
                return document.querySelector('.error');
                ...... do some more checks
              });

これが、phantomJ をスクリプトにカプセル化する方法です

その他のサンプル @ https://github.com/ImaginaryDevelopment/javascript/tree/master/phantom

于 2013-08-02T16:16:31.920 に答える