zoukankan      html  css  js  c++  java
  • Puppeteer--爬坑记录

    1.运行时报错:ExperimentalWarning: The fs.promises API is experimental
    解决:下载最新版本的Node~
     
    2.启动后,页面崩溃
    解决:
    const args = [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-infobars',
    ]
    3.使用page.waitForNavigation()方法后,发现获取不到指定元素。
    page.waitForNavigation({
        timeout: 30 * 1000,
        waitUntil: [
            'load',                       //等待 “load” 事件触发
            'domcontentloaded',  //等待 “domcontentloaded” 事件触发
            'networkidle0',          //在 500ms 内没有任何网络连接
            'networkidle2'           //在 500ms 内网络连接个数不超过 2 个
        ]
    })
    注意:如果需要等待所有异步请求执行完毕,使用以上代码没有效果?
    解决:改用page.waitFor或者page.waitForSelector
     
    4. 通过以下语句返回的是undefined,无法获取到elementHandle。
    const span_1 = await page.$$eval('span', span_s => {
        var span = span_s.filter(span =>{
            return span.innerText.includes('定制')
        });
        console.log(span);
        return span
    });
    原因:回调是在浏览器环境里执行的,无法返回elementHandle类型
    解决:要么在浏览器环境执行所有操作返回最终结果,要么改用page.$(), page.$$(),page.$X()再操作
     
    5.TypeError: Cannot read property 'waitForSelector' of null
    现象:Puppeteer不稳定??,时常会出现~,观察发现是页面元素未渲染完毕就停止渲染了,只能加入重试机制重刷页面
     
    6.Page.$()和Page.$$()无法根据文本内容过滤
    解决:Xpath语法会更加强大,改用page.$X()
     

  • 相关阅读:
    .net将动态页面(aspx)生成静态页面htm | html
    js复制Code
    发送Email 附件打包,
    PC大屏自适应 简洁版
    PC大屏自适应
    Java 常见类型转换
    二叉树的四种遍历
    C语言代码质量保证
    System.ComponentModel.Component入门
    旧版MFC自定义CFileDialog Win7中扩展无显示 解决
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14295042.html
Copyright © 2011-2022 走看看