2

是否可以加载空白页面并在页面上执行一些 javascript?如果是这样,怎么做?示例将不胜感激。

4

3 回答 3

1

我实际上正在寻找这样的东西:

 var page = require('webpage').create();
 page.open('about:blank', function(status) {
    page.evaluate(function() {
       //My script here.         
    });
    phantom.exit();
});
于 2013-06-21T19:26:11.427 回答
1

PhantomJS 需要一个 DOM,它不会出现在空文件中。您需要至少为您的页面创建此结构以在页面上执行JavaScript

<html>
    <head>
        <!-- JavaScript goes here !-->
    </head>
    <body>
    </body>
</html>
于 2013-06-21T18:23:50.210 回答
1

尝试 page.setContent

http://phantomjs.org/api/webpage/method/set-content.html

var webPage = require('webpage');
var page = webPage.create();
var expectedContent = '<html><body><div>' + yourScript + '</div></body></html>';
var expectedLocation = 'http://www.phantomjs.org/';
page.setContent(expectedContent, expectedLocation, function(status) {
   if(status === success) {
       page.evaluate();
   } else {
       //do something
   }
});
于 2016-03-05T00:18:39.303 回答