Как выбрать переменное количество атрибутов href с помощью Puppeteer? - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь выбрать некоторое переменное количество href атрибутов из галереи, используя Puppeteer:

const GALLERY_SELECTOR = '#photosarea > ul > li:nth-child(1) > a';

let galleryImageHref = await page.evaluate((sel) => {
     return document.querySelector(sel).getAttribute('href');
}, GALLERY_SELECTOR);

console.log(  "image gallery link: " + galleryImageHref);

Мой код выше работает, чтобы выбрать одну ссылку на изображение, однако я в растерянности из-за как перебрать любое количество изображений в галерее, которую я пытаюсь сканировать, может быть 0 или больше.

Пример HTML Я сканирую:

<div class="contentbox profilephotosarea" id="photosarea" style="width:613px;float:right;text-align:center;">
    <ul>
        <li><a href="/photo.php?picid=5026734&amp;u=galleryName" class="pr"><img src="/p/2020-04/galleryName/02487b00dfb51e7fe6aaa04dba9037da-thumb.jpg"></a><br></li>

        <li><a href="/photo.php?picid=5033539&amp;u=galleryName" class="pr"><img src="/p/2020-04/galleryName/f8eec9f0c2cd1db89968383cc9e6e0a5-thumb.jpg"></a><br></li>
    </ul>
</div>

Как я бы go об этом?

Спасибо.

1 Ответ

0 голосов
/ 17 апреля 2020

Просто измените это на:

return [...document.querySelectorAll(sel)].map(a => a.getAttribute('href'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...