当前位置: 首页 > 面试题库 >

使用PhantomJS和node.js保存并呈现网页

向子安
2023-03-14
问题内容

我正在寻找一个示例,该示例请求一个网页,等待JavaScript呈现(JavaScript修改DOM),然后获取页面的HTML。

这应该是一个简单的示例,并且带有明显的PhantomJS用例。我找不到合适的示例,文档似乎全部关于命令行使用。


问题答案:

根据您的评论,我猜您有2个选择

  1. 尝试找到phantomjs节点模块-https: //github.com/amir20/phantomjs-node
  2. 运行phantomjs作为一个子进程内部节点- http://nodejs.org/api/child_process.html

编辑:

phantomjs似乎建议子进程作为与节点交互的一种方式,请参见常见问题解答-http:
//code.google.com/p/phantomjs/wiki/FAQ

编辑:

用于获取页面HTML标记的示例Phantomjs脚本:

var page = require('webpage').create();  
page.open('http://www.google.com', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var p = page.evaluate(function () {
            return document.getElementsByTagName('html')[0].innerHTML
        });
        console.log(p);
    }
    phantom.exit();
});


 类似资料:
  • 我正在使用PhantomJS进行网页截图。 我看到过其他关于@font-face问题的帖子,但我页面上的字体呈现正确。我唯一的问题是,每次截图时,字体显示与前一个截图略有不同。所以尽管他们的渲染是正确的,但他们在截图上的外观是不一致的。 我已经尝试了许多修复,大多数都是基于这样的假设,即这与页面准备好之前拍摄的截图有关,但这似乎不是问题所在。例如,我已经延迟了截图,以便字体有时间加载和呈现,但这并

  • 本文向大家介绍Node.JS利用PhantomJs抓取网页入门教程,包括了Node.JS利用PhantomJs抓取网页入门教程的使用技巧和注意事项,需要的朋友参考一下 前言 当想用 nodejs 抓取一些网页 , 我第一反应想到的就是使用 http 模块 , 比如抓取百度首页: 但是 , 这仅限于简单地抓取 html , 有很大的局限性。 假如你想要的内容不在 html 里 , 而是 js 动态生

  • 问题内容: 我需要上传,显示并保存图像,以免刷新本地主机时不会丢失它。这需要使用“上传”按钮来完成,该按钮提示选择文件。 我正在使用node.js并表示服务器端代码。 问题答案: 首先,您应该制作一个包含文件input元素的HTML表单。您还需要将表单的 enctype 属性设置为 multipart / form- data : 假设在 index.html 中定义了表单,该表单存储在相对于脚本

  • 问题内容: 我为python 2.7使用了selenium网络驱动程序: 启动浏览器:。 转到一些网址:。 此时,如何向浏览器发送“另存为”命令? 注意:这不是我感兴趣的网页源。我想使用实际的“将页面另存为” Firefox命令来保存页面,该命令所产生的结果与保存网页源不同。 问题答案: 不幸的是,您无法使用Selenium做您想做的事。您可以使用page_source来获取html,但这就是您将

  • 提交表单后,我想将结果页保存为PDF格式。我怎么才能做到这一点。我对其他编程语言一窍不通,所以请帮助使用java代码。

  • 问题内容: 我有一个将文件保存到gridfs的功能。重构后,它以某种方式停止工作,我花了两个多小时呆呆地盯着它。我发誓它与以前大致相同。我似乎记得起初在添加内容之前它不起作用,然后开始起作用,但这可能是失眠。从本质上讲,问题在于db.fs.files集合没有任何记录,但是将块添加到db.fs.chunks中。 数据 是通过fs.readFile()从磁盘加载的缓冲区 问题答案: 有两种解决方案。您