【发布时间】:2021-01-13 18:29:22
【问题描述】:
尝试使用 Nodejs 和 Puppeteer 抓取有关漏洞的一些数据,遇到了一些属性显示为 null 或空的问题,但在浏览器中运行 SelectorQuery 可以正常工作(版本 87.0.4280.88 (x86_64) )。下面是产生问题的 sn-p。
选择器用于修补漏洞的日期,其中选择器路径为“div.patched”。该问题似乎也发生在具有以下选择器“spec-title for-l”的软件部分。
const puppeteer = require('puppeteer');
const url = 'https://www.zero-day.cz/database/';
const selector = '.issue.col-md-6';
(async function(){
const browser = await puppeteer.launch();
const page = await browser.newPage();
const version = await page.browser().version();
console.log(version);
await page.goto(url);
const articles = await page.$$eval(selector, nodes => {
return nodes.map(node => {
let timePatched = node.querySelectorAll('div.patched').textContent;
{};
return {
timePatched
}
})
});
console.log(articles);
await browser.close();
})();
输出
[
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {},
... 374 more items
]
- HeadlessChrome/88.0.4298.0
- Npm 7.3 版
- Puppeteer 5.5 版
【问题讨论】:
标签: javascript puppeteer chromium