首页 > 解决方案 > Puppeteer 页面请求仅在 AWS EC2 实例上失败

问题描述

我已经使用我试图在 AWS EC2 实例上运行的节点(v12.16.2)和 puppeteer(v2.1.1)编写了一个小型 javascript 程序。我正在执行附加到此的 url。它在具有类似版本的本地(非 AWS)linux 机器上运行良好,但在 EC2 上,它失败了,根本不显示页面。我试过用 headless=false 和 devtools=true 运行。在浏览器控制台中,我看到:

Uncaught TypeError: Cannot read property 'length' of undefined at il_Ev (rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:1862) at il_Hv (rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:1849) at il_Yv.initialize (rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:1867) at il__i (rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:270) at il_Gl.il_Wj.H (rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:322) 在 rs=ACT90oFtPziyty36T_zhgMUEStuCtJgAkQ:1869

正如我所提到的,同样的代码在不同的 linux 机器上运行良好,并且只是加载到浏览器中;没有错误。我难住了。有谁知道可能会发生什么?其他页面,如 google.com,在 EC2 中加载良好,仅供参考。TIA。

里德

https://www.google.com/imgres?imgurl=https%3A%2F%2Fimg-s-msn-com.akamaized.net%2Ftenant%2Famp%2Fentityid%2FAACPW4S.img%3Fh%3D552%26w%3D750% 26m%3D6%26q%3D60%26u%3Dt%26o%3Df%26l%3Df%26x%3D992%26y%3D672&imgrefurl=https%3A%2F%2Fwww.msn.com%2Fen-us%2Flifestyle%2Fpets-animals% 2F49-adorable-puppy-pictures-that-will-make-you-melt%2Fss-AACSrEY&tbnid=Ad7wBCCmAXPRDM&vet=12ahUKEwig1NfB0Y7oAhXGHc0KHSzuCMUQMygeegQIARBw..i&docid=jawDJ74qdYREJM&w=750&h=500&q=puppies&ved=2ahUKEwig1NfB0Y7oAhXGHc0KHSzuCMUQMygeegQIARBw

这是相关代码的摘录,非常简单:

   const browser = await puppeteer.launch({
       headless: false,
       devtools: true,
       slowMo: 150
    });
   await browser.userAgent(
      "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
   );
   /* Get the first page rather than creating a new one unnecessarily. */
   let page = (await browser.pages())[0];
   await page.setViewport({
      width: 1524,
      height: 768
   });
   try {
await page.goto("https://www.google.com/imgres?imgurl=https%3A%2F%2Fimg-s-msn-com.akamaized.net%2Ftenant%2Famp%2Fentityid%2FAACPW4S.img%3Fh%3D552%26w%3D750%26m%3D6%26q%3D60%26u%3Dt%26o%3Df%26l%3Df%26x%3D992%26y%3D672&imgrefurl=https%3A%2F%2Fwww.msn.com%2Fen-us%2Flifestyle%2Fpets-animals%2F49-adorable-puppy-pictures-that-will-make-you-melt%2Fss-AACSrEY&tbnid=Ad7wBCCmAXPRDM&vet=12ahUKEwig1NfB0Y7oAhXGHc0KHSzuCMUQMygeegQIARBw..i&docid=jawDJ74qdYREJM&w=750&h=500&q=puppies&ved=2ahUKEwig1NfB0Y7oAhXGHc0KHSzuCMUQMygeegQIARBw", {
            timeout: 0,
//            waitUntil: ["load"]
//            waitUntil: ["networkidle2"]
});
     await page.waitForSelector('#irc_shc', {
        visible: true,
        timeout: 0
     });
   } catch(e) {
      console.log("error: e = ", e);
   }

标签: node.jsamazon-ec2puppeteer

解决方案


事实证明,这只是一个临时的谷歌页面错误。


推荐阅读