我要从视频播放器的播放列表中保存URL。
操作顺序:
src
src
添加到数组一切都很好,但是有时候有些元素我无法从src
中获得。所以我想做的是尝试获取元素的src
5次,如果它在第5次失败,那么我应该将计数器的{i
)值推入数组而不是URL中。并点击下一个视频,并获得下一个元素的src
。请让我知道我该怎么做。
这是我当前的代码,该代码一步一步单击并获取元素的src
,如果无法获取元素的src
,则会冻结:
const links = await page.evaluate((SELECTORS) => {
return new Promise((resolve, reject) => {
const items = document.querySelector(SELECTORS.list).childNodes;
let i = 0;
const urls = [];
const video = document.querySelector(SELECTORS.video);
let counter = 0;
const limit = 10;
var timer = setInterval(() => {
const url = video.getAttribute('src');
if (!urls.includes(url)) {
urls.push(url);
i++;
if (items[i]) {
setTimeout(items[i].click(), 2000);
} else {
clearInterval(timer);
resolve(urls);
}
}
}, 10);
items[0].click();
});
}, SELECTORS);