Я пытаюсь получить URL-адрес каждого изображения в «класс фигурки> img src». Веб-страница содержит список списков, и у каждого списка есть изображение.
Проблема заключается в том, что класс URL-адреса изображения переключается между 'class=" lazyloaded"' (*Обратите внимание на пробел перед именем) и 'class="is-higher-height lazyloaded"'.
Я думаю о запросе по строкам либо «ленивая загрузка», либо «is-higher-height.lazyloaded». Ничего не работает.
Как ни странно, я проверил в песочнице и нашел оба элемента. Ссылка ниже.
http://pagedemos.com/awr78g4nfehh/3
Ценим любую помощь! Спасибо.
html-структура
<div class="items-box-content">
<!-- each section represents a single listing -->
<section class="items-box">
<a href="http:url">
<figure class="items-box-photo">
<img data-src="imageurl.jpg" class=" lazyloaded" src="imageurl.jpg">
<!-- sometimes class=" is-higher-height lazyloaded" -->
</figure>
</a>
</section>
<!-- many other listings -->
<section></section>...
</div>
Основные линии Кукловода
await page.evaluate(() => {
document.querySelector('section[class*="items-box"]');
});
let elements = await page.$$('section[class*="items-box"]');
let listImg = await element.$eval('img.lazyloaded', img => img.getAttribute('src'));
Попробовал ниже для $eval, ничего не работает
//CSS versions
img.lazyloaded //captures 1 listing on debugger;
.lazyloaded
is-higher-height.lazyloaded //doesnt capture even 1
.is-higher-height.lazyloaded //doesnt capture even 1
img.lazyloaded.is-higher-height.lazyloaded //multiple classes
//XPath versions
'img[class*="lazyloaded"]' // includes name
'img.[class$="lazyloaded"]' // ends with name
'img.[class^="lazyloaded"]' // starts with name
'//img[class^="lazyloaded"]' //not valid selector