export const handleProductMenu = async (page, crawler, url) => {
await page.waitForTimeout(4000);
const button = await page.$('#CybotCookiebotDialogBodyButtonAccept.CybotCookiebotDialogBodyButton');
if(button){
await puppeteerUtils.saveSnapshot(page, {key : 'before-click'})
console.log('clicking on cookies button.')
await button.click();
}else{
console.log('No cookies button.')
}
await page.waitForTimeout(5000);
await puppeteerUtils.saveSnapshot(page, {key : 'after-click'})
// 2 sec timeout after the first.
const listOfLinks = await page.evaluate(() => {
const listOfLinks = [];
$('#indexCategories > div > ul.slides.section.group > li').each((index, element) => {
const jElement = $(element);
const links = jElement.find('a').attr('href');
if(links){
listOfLinks.push(links);
}
})
return listOfLinks;
});
for( const links in listOfLinks){
let link = links;
if(link){
await crawler.addRequests([{
url: `${link}`,
label: LABELS.PRODUCT_CATEGORIES,
}])
}
}
}
export const handleProductMenu = async (page, crawler, url) => {
await page.waitForTimeout(4000);
const button = await page.$('#CybotCookiebotDialogBodyButtonAccept.CybotCookiebotDialogBodyButton');
if(button){
await puppeteerUtils.saveSnapshot(page, {key : 'before-click'})
console.log('clicking on cookies button.')
await button.click();
}else{
console.log('No cookies button.')
}
await page.waitForTimeout(5000);
await puppeteerUtils.saveSnapshot(page, {key : 'after-click'})
// 2 sec timeout after the first.
const listOfLinks = await page.evaluate(() => {
const listOfLinks = [];
$('#indexCategories > div > ul.slides.section.group > li').each((index, element) => {
const jElement = $(element);
const links = jElement.find('a').attr('href');
if(links){
listOfLinks.push(links);
}
})
return listOfLinks;
});
for( const links in listOfLinks){
let link = links;
if(link){
await crawler.addRequests([{
url: `${link}`,
label: LABELS.PRODUCT_CATEGORIES,
}])
}
}
}