Бег на Кукольнике, все обновлено.
Намеченный процесс состоит в том, чтобы перейти на веб-сайт, где url - это url / {search item}, и просмотреть список поисковых имен.Затем для каждого элемента поиска -> страница поиска, получите имя, цену и URL изображения для каждого списка.Теперь есть ошибка, он не может найти селектор.Спасибо за любую помощь в этом, большое спасибо!
Расположение данных на сайте выглядит следующим образом:
<div class="items-box-content">
<section class="items-box">
<a href="https://listingurl">
<figure class="items-box-photo">
<img data-src="https://imageurl.jpg" class=" lazyloaded" src="https://imageurl.jpg">
</figure>
<div class="items-box-main">
<h3 class="items-box-name"> listing name </h3>
<div class="items-box-figure">
<div class="items-price font-4"> $29.95 </div> // item's price
</h3>
</div>
И что у меня сейчас есть(который выдает ошибку):
const puppeteer = require('puppeteer');
const searches = ["a", "b", "c"]; //appended to url
(async () => {
const browser = await puppeteer.launch({ headless: false });
let results =[];
for (const search of searches) {
try {
page = await browser.newPage();
await page.goto(`https://weburl/?keyword=${search}`);
await page.evaluate(() => { document.querySelector('div[class*="items-box"]').scrollIntoView();});
let elements = await page.$$('div[class*="items-box"]');
for (let element of elements) {
let listImg = await element.$eval(('img[class="items-box-photo]'), img => img.getAttribute('src'));
let listTitle = await element.$eval(('d[class="items-box-main"] > h[class="items-box-name"]'), node => node.innerText.trim());
let listPrice = await element.$eval(('d[class="items-box-figure"] > d[class="items-price"]'), node => node.innerText.trim());
let listUrl = await element.$eval(('d[class="items-box-content"] > a[class*="items-box"]'), node => node.getAttribute('href'));
results.push({
listImg,
listTitle,
listPrice,
listUrl
})
return results;
}
} finally {
await page.close
}
}
})();
Выдается ошибка
(узел: 5168) UnhandledPromiseRejectionWarning: Ошибка: Ошибка: ошибканайти селектор соответствия элемента "img [class =" items-box-photo] "