Я хочу просмотреть галерею.Поскольку я не знаю, сколько фотографий в галерее, я думаю, что мне нужен цикл while.Когда я добрался до последнего изображения, имя класса кнопки следующего изображения меняется на next-photo is-hidden
, до тех пор, пока оно не станет просто next-photo
.Поэтому моя цель - сделать цикл while, и когда эта кнопка станет скрытой, вырвитесь из цикла, пока она не будет вызвана повторно.Здесь я стою сейчас:
async function openGallery(page) {
await page.evaluate(async () => {
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
let randomTime = 250;
let clickOnImage = document.querySelector('div.image');
let nextbutton = document.querySelector('button[class="next-photo"]');
let closeGallery = document.querySelector('button[class="close-gallery"]');
let lastImage = document.querySelector('button[class="next-photo is-hidden"]');
if (clickOnImage) {
clickOnImage.click();
}
while (nextbutton) {
nextbutton.click();
if (lastImage) {
closeGallery.click();
break;
}
await delay(randomTime);
}
});
}
Но теперь, когда я доберусь до последнего изображения, программа не выйдет из цикла или, другими словами, другие коды после этого не будут выполняться.И галерея не закроется.
Чего мне не хватает?