首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Nightmare.js返回HTML体

从Nightmare.js返回HTML体
EN

Stack Overflow用户
提问于 2016-09-26 04:30:51
回答 1查看 6.1K关注 0票数 7

我目前正在使用cheerionightmare进行一些抓取工作。我之所以同时使用这两个工具,而不仅仅是cheerio,是因为我必须操纵网站才能找到我想要抓取的部分,而且我发现噩梦非常擅长做这些脚本。

所以,现在我正在使用nightmare获取,直到我需要的信息显示出来。在那之后,在evaluate()上,我试图以某种方式返回当前的html,然后将其传递给cheerio进行抓取。问题是我不知道如何从document对象中检索html。document中是否有一个属性可以返回整个正文?

这是我想要做的:

代码语言:javascript
复制
var Nightmare = require('nightmare');
var nightmare = Nightmare({show:true})
var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app     = express();

var urlWeb = "url";
var selectCity = "#ddl_city"

nightmare
.goto(urlWeb)
.wait(selectCity)
.select('#ddl_city', '19')
.wait(6000)
.select('#ddl_theater', '12')
.wait(1000)
.click('#btn_enter')
.wait('#aspnetForm')
.evaluate(function(){

    //here is where I want to return the html body
    return document.html;


})
.then(function(body){
//loading html body to cheerio
    var $ = cheerio.load(body);
    console.log(body);
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 06:18:20

在此基础上:

代码语言:javascript
复制
document.body.innerHTML
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39691531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档