Есть ли способ выбрать <div>
по его классу в веб-браузере Node Puppeteer?
На веб-странице есть div
, которое выглядит следующим образом: <div class="Body-body-qL80Q">
Я хочу, чтобы мой скребок взял текст с этого div
. В настоящее время я просто пытаюсь записать его на консоль, чтобы убедиться, что он захватывает правильный текст.
Что не так с моим querySelector
? (Ранее у меня был сценарий, чтобы перейти на правильную страницу и сделать снимок экрана, что он сделал правильно, поэтому я знаю, что остальная часть работает.)
const puppeteer = require('puppeteer');
const CREDS = require('./creds');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://www.squarespace.com/login');
const USERNAME_SELECTOR = '.username.Input-hxTtdt.ipapEE';
const PASSWORD_SELECTOR = '.password.Input-hxTtdt.ipapEE';
const BUTTON_SELECTOR = '.Button-kDSBcD.fATVqu';
await page.click(USERNAME_SELECTOR);
await page.keyboard.type(CREDS.username);
await page.click(PASSWORD_SELECTOR);
await page.keyboard.type(CREDS.password);
await Promise.all([
page.waitForNavigation(),
page.click(BUTTON_SELECTOR),
]);
await page.goto('https://triangle-oarfish-hk88.squarespace.com/config/analytics#activity-log');
const textContent = await page.evaluate(() => document.querySelector('Body-body-qL80Q').className);
console.log(textContent);
await browser.close();
})();
Это ошибка:
(node:6116) UnhandledPromiseRejectionWarning: Error: Evaluation failed: TypeError: Cannot read property 'className' of null
(node:6116) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6116) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.