JQuery: .find () находит определенные элементы, но не другие - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь отсканировать отзывы компаний Glassdoor в качестве упражнения, и я попытался изучить javascript и JQuery, чтобы сделать это с puppeteer.В моем сценарии я пытаюсь вывести на консоль как

  1. Сводка обзора, так и
  2. дату обзора.

( Рисунки 1 и 2 для html-позиций сводки и даты)

Однако, по некоторым причинам, только сводки выводятся на консоль, а даты - нет.Если бы кто-то указал на ошибку в моем коде, я был бы очень признателен.

const puppeteer = require("puppeteer");
const cheerio = require('cheerio');

// puppeteer usage as normal
puppeteer.launch({ headless: false }).then(async browser => {

  const page = await browser.newPage();

  const navigationPromise = page.waitForNavigation();

  await page.setViewport({ width: 1440, height: 794 })  ;
  await page.goto('https://www.glassdoor.com/Reviews/Grubhub-Reviews-E419089.htm');

  await navigationPromise;

  var data = [];

  const html = await page.content();
  const $ = cheerio.load(html);

  $(".hreview").each(function() {

    console.log("\nMain scraping function happening...")

    // This works
    console.log($(this).find("span.summary").text());
    // This does not work
    console.log($(this).find("time.date").text());

  });


  await browser.close();

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...