Я использую следующий код для выбора всех ссылок на веб-странице:
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
Мне нужно знать, как отфильтровать эти ссылки с теми, которые содержат только / product / & includes / c/ например?
Вы можете добавить Array.prototype.filter() с помощью String.prototype.includes() предикатов:
Array.prototype.filter()
String.prototype.includes()
const hrefs = await page.$$eval( 'a', as => as.map(a => a.href) .filter(href => href.includes('/product/') && href.includes('/c/')) );
Этого можно добиться, используя метод .filter вместо метода .map.
Вот что вы можете попробовать:
const hrefs = await page.$$eval('a', as => as.filter((d)=>{ return (d.contains('/c/') && d.contains('/product/')) }));