Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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仅在page.open中加载静态内容_Phantomjs_Headless Browser - Fatal编程技术网

Phantomjs仅在page.open中加载静态内容

Phantomjs仅在page.open中加载静态内容,phantomjs,headless-browser,Phantomjs,Headless Browser,我的情况是使用phantomjs只加载静态内容(我们使用“wget”获得的内容),然后运行一些javascript来确定页面的“标题”。我不需要加载整个页面就可以知道它的标题,对吗 尝试使用: page.settings.resourceTimeout = 0; page.settings.javascriptEnabled = false; page.settings.loadImages = false; page.settings.localToRemoteUrlAccessEnab

我的情况是使用phantomjs只加载静态内容(我们使用“wget”获得的内容),然后运行一些javascript来确定页面的“标题”。我不需要加载整个页面就可以知道它的标题,对吗

尝试使用:

page.settings.resourceTimeout = 0;

page.settings.javascriptEnabled = false;

page.settings.loadImages = false;

page.settings.localToRemoteUrlAccessEnabled = false;

page.settings.webSecurityEnabled = false;
但在本例中,我的document.title无法工作,因为我的JS被禁用。有道理

有没有办法只加载静态内容?差不多

page.open(uri,static=true,…

根据需要,您可以在
page.onResourceRequested
内调用
request.abort()
。此处给出的停止加载所有css的示例为:

page.onResourceRequested = function(requestData, request) {
    if ((/http:\/\/.+?.css/gi).test(requestData['url']) || requestData['Content-Type'] == 'text/css') {
       console.log('The url of the request is matching. Aborting: ' + requestData['url']);
       request.abort();
    }
}

此外,page.onLoadStarted是确定标题的竞争者,但我也想对正文中的一些div节点进行一些分析。请帮助。@Devaroop我理解您的问题,因为您希望加载HTML内容,但不加载任何其他资源,如图像、外部Javascript、外部CSS、字体等。如果是,这就是用途-添加此功能的情况。(如果要停止所有操作,请中止除第一个请求之外的所有请求)同意。这只给了我们筛选css、js和我们可以猜测的任何其他调用的权限。可能还有其他调用,如php、java等,无法确定。我想要一个模拟“wget”的调用behavior.make sense?@Devaroop如果你想模仿wget行为,我已经给了你这个答案(除了它在浏览器中,所以内联JavaScript仍然会运行,并且可以修改文档体-但是不会再进行网络请求)。通过中止所有请求,你可以停止加载任何其他内容(包括AJAX,我猜这就是你所说的“php、java等”的意思?)如果这仍然不能回答问题,也许你可以解释为什么你不简单地使用wget?与wget相比,PhantomJS是一个资源怪物。