Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhantomJS加载空白页并运行脚本_Phantomjs - Fatal编程技术网

PhantomJS加载空白页并运行脚本

PhantomJS加载空白页并运行脚本,phantomjs,Phantomjs,是否可以加载空白页面并在该页面上执行一些javascript?如果是,怎么做?示例将不胜感激。PhantomJS需要一个DOM,它不会出现在一个空文件中。您至少需要为页面创建此结构,以便在页面上执行JavaScript: <html> <head> <!-- JavaScript goes here !--> </head> <body> </body> </html&g

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

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

<html>
    <head>
        <!-- JavaScript goes here !-->
    </head>
    <body>
    </body>
</html>

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

 var page = require('webpage').create();
 page.open('about:blank', function(status) {
    page.evaluate(function() {
       //My script here.         
    });
    phantom.exit();
});
请尝试page.setContent

var webPage=require('webPage');
var page=webPage.create();
var expectedContent=''+yourScript+'';
var expectedLocation=http://www.phantomjs.org/';
page.setContent(expectedContent、expectedLocation、函数(状态){
如果(状态===成功){
page.evaluate();
}否则{
//做点什么
}
});

这应该可以工作,因为它会加载一个带有基本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
   }
});