Javascript 木偶演员无法获得页面';使用evaluate创建innerHTML
我正试图从一个网站获取HTML,但木偶演员无法获取HTML。同样的代码适用于我正在下载的多个其他网站 是什么让这个网站与众不同,不允许评估功能获取内容 甚至jQuery也无法访问此站点上的元素。下载的文件似乎有一个iframe,但我不确定这是否是问题所在Javascript 木偶演员无法获得页面';使用evaluate创建innerHTML,javascript,jquery,node.js,puppeteer,Javascript,Jquery,Node.js,Puppeteer,我正试图从一个网站获取HTML,但木偶演员无法获取HTML。同样的代码适用于我正在下载的多个其他网站 是什么让这个网站与众不同,不允许评估功能获取内容 甚至jQuery也无法访问此站点上的元素。下载的文件似乎有一个iframe,但我不确定这是否是问题所在 const puppeteer = require('puppeteer'); const fse = require('fs-extra'); const fs = require('fs'); const nodepath = requir
const puppeteer = require('puppeteer');
const fse = require('fs-extra');
const fs = require('fs');
const nodepath = require('path')
var url = 'http://example.com';
var oddsOutputPath = nodepath.join(__dirname, '..', 'public', 'outputdir');
console.log(oddsOutputPath);
fse.ensureDir(oddsOutputPath).then(() => { console.log('success!') }).catch(err => { console.error(err) });
function delay(timeout) {
return new Promise((resolve) => {
setTimeout(resolve, timeout);
});
}
(async () => {
const browser = await puppeteer.launch({
networkIdleTimeout: 0,
timeout: 360000,
headless: false,
ignoreHTTPSErrors: true,
args: [
'--no-sandbox'
]
});
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on('request', request => {
if (['image', /* 'stylesheet', */ 'font'].indexOf(request.resourceType()) !== -1) {
request.abort();
} else {
request.continue();
}
});
try {
await page.setViewport({ width: 1366, height: 653 });
await page.goto(url, { waitUntil: 'networkidle2', timeout: 360000 });
await delay(45000);
outputPath = oddsOutputPath + "/init.html";
let html = await page.evaluate(() => document.body.innerHTML);
fs.writeFileSync(outputPath, html);
console.log('script has ended');
await delay(5000);
} catch (e) {
var error = "'" + e + "'";
console.log(error)
process.exit()
}
finally {
await browser.close();
}
})();
您尝试访问的页面在iframe中加载其大部分内容 我建议直接访问iframe以获取其内容:
var url = 'https://elitebet-sportsbook-web.exaloc.net/prelive_event/?token=&language=en';