3
私は現在、cheerio
とnightmare
でいくつかの削り取り作業を進めています。 cheerio
だけでなく両方を使用している理由は、私が擦り傷を付けたい部分にアクセスするためにサイトを操作する必要があり、悪夢が非常にうまくそれらのスクリプトを実行することがわかったからです。Nightmare.jsからHTMLボディを返す
今、私はnightmare
を使用して、必要な情報が表示されるまで取得します。その後、evaluate()
で何とか現在のhtml
を返そうとしていたら、それをcheerio
に渡して擦れを行います。問題は、document
オブジェクトからhtmlを取得する方法がわからないことです。 document
thatsからフルボディを返すプロパティがありますか?ここで
私がやろうとしているされているもの:これにより
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);
})
あなたは必要ないすべての 'html'かある'十分document.body'? –
これまではbody @ R.A.Lucasが必要です –
'evaluate'メソッドの' document.body'が返されますか? –