访问原始页面"从幻影模块

Access raw "page.content" from phantom module

本文关键字:幻影 模块 quot 原始 访问      更新时间:2023-09-26

我使用的是phantom模块与Node.js而不是phantomjs运行时。

如何访问page.content ?

下面的例子不起作用。

var phantom = require('phantom')
phantom.create(function (ph) {
  ph.createPage(function (page) {
    page.open('http://www.google.com', function (status) {
      console.log(status) // -> success
      console.log(page.content) // -> undefined
      console.log(page.getContent()) // -> undefined
      ph.exit()
    })
  })
})

由于phantom模块(node.js和PhantomJS之间的桥梁)本质上是异步的,因此API与普通的PhantomJS略有不同。项目页面上描述了这些差异,特别是在功能详细信息中:

属性不能直接获取/设置,而是使用page.get('version', callback)page.set('viewportSize', {width:640,height:480})等。可以通过在键中包含点来访问嵌套对象,例如page.set('settings.loadImages', false)

在你的例子中是

page.get("content", function(content){
    console.log(content);
});

这将为您提供完整的DOM。查看我在这里的文章,了解获取不同DOM表示的不同方法。

var phantom = require('phantom')
phantom.create(function (ph) {
  ph.createPage(function (page) {
    page.open('http://www.google.com', function (status) {
      if (status !== 'success') {
        console.log('Unable to access the network!')
      } else {
        page.evaluate(function () {
          return document.body
        }, function (body) {
          console.log(body)
          ph.exit()
        })
      }
    })
  })
})