0

I tried different ways like add it to unnamed function, but without success. Thank you.

var selector = '.tile-hover-target';

const prods = await page.$$eval(resultsSelector, function (msgs) {
     return msgs.map(function (selector, msg) {
        return {
           link: msg.querySelector(selector).href.trim(),
        }
     }.bind(null, selector))
});

1 Answers1

0

According to the Puppeteer documentation, arguments need to be passed after the function. This works fine:

var sel = '.product-card__main';
      const prods = await page.$$eval(resultsSelector, function (msgs, sel) {
           return msgs.map(function (selector, msg) {
               return {
                    link: msg.querySelector(selector).href.trim(),
                       }
                }.bind(null, sel))
           }, sel);
Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77