【问题标题】:Error: failed to find element matching selector img错误:未能找到匹配选择器 img 的元素
【发布时间】:2021-06-24 07:33:36
【问题描述】:

我正在使用 puppeteer 进行网络抓取,但是当在其中一个对象中找不到一个元素(图像)时,我收到错误 UnhandledPromiseRejectionWarning: Error: Error: failed to find element matching selector ".css-13u5hxa.epu0oo22 img"

即使出现错误,如何继续运行应用程序?我知道一些将被抓取的对象没有图像但仍想获取它们。

下面是导致错误的常量

const companyImage = await page.$eval(
     // ".oc-photo-gallery .photo__10vsfGte img",
     ".css-13u5hxa.epu0oo22 img",
     (img) => img.src
   );
   


   listings[i].companyImage = companyImage;
   const listingModel = new GlassdoorDB(listings[i]);
   await listingModel.save();
   await sleep(1000); //1 second sleep```

【问题讨论】:

    标签: javascript node.js web-scraping puppeteer


    【解决方案1】:

    将其包装在 try/catch 中,记录错误并继续

    try {
        const companyImage = await page.$eval(
            // ".oc-photo-gallery .photo__10vsfGte img",
            ".css-13u5hxa.epu0oo22 img",
            (img) => img.src
        );
    
    
    
        listings[i].companyImage = companyImage;
        const listingModel = new GlassdoorDB(listings[i]);
        await listingModel.save();
        await sleep(1000); //1 second sleep```
    } catch(err) {
        console.log(err)
    }
    

    【讨论】:

      猜你喜欢
      • 2019-09-17
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      相关资源
      最近更新 更多