Как получить коллекцию элементов с драматургом? - PullRequest
1 голос
/ 27 апреля 2020

Как получить все изображения на странице у драматурга? Я могу получить только один (ElementHandle) со следующим кодом, но не коллекцию.

const { chromium } = require("playwright");

class Parser {
  async parse(url) {
    const browser = await chromium.launch();
    const page = await browser.newPage();
    await page.goto(url);
    await page.waitFor("img");
    // TODO: get somehow collection of elements
    return await page.$("img");
  }
}

module.exports = Parser;

Где-то в другом модуле очень далеко:

const Parser = require("./path/to/dir/Parser.js");
const parser = new Parser();

parser
    .parse(body.url)
    .then(elemHandle => {
      // here I get only one ElementHandle object, but suppose to get an array or collection
    })
    .catch(err => {
      throw new Error(err);
    });

Узел v .12.16.1

1 Ответ

1 голос
/ 27 апреля 2020

Я уже нашел ответ. Нужно использовать page.$$(selector) вместо page.$(selector), чтобы захватить как document.querySelectorAll(selector).

...