puppeteer 的安装与使用

【01 】html

1. 初次安装:在网上找的教程,经过淘宝镜像安装的npm


2. 若是安装以后,又新建项目时,须要从新为新建项目安装puppeteer:less

在新建的项目文件目录的终端,运行:异步

npm -vasync

cnpm -v学习

cnpm i puppeteer  #若是肯定以前的都安装了,前两个应该不须要执行了吧ui

参考:https://www.cnblogs.com/Owen-ET/p/8064384.html视频

 

【02 】htm

 

报错的问题,昨晚一直没有解决,对比学习视频,没有发现差别;今早从新再看,几分钟就找到了解决办法blog

昨晚的思路一直在查找代码问题,直接对比;今早直接将报错内容在网页上查找的。

 

内容: 

const puppeteer = require('puppeteer');

async function run (){
    const browser = await puppeteer.launch({headless:false, defaultViewport: {width: 1300, height:700}});
    // 须要在puppeteer.launch 前添加‘await’,由于
    const page = await browser.newPage();
    await page.goto('https://www.baidu.com');
    const input_area = await page.$("#kw");
    await input_area.type("hello world");

    const search_btn = await page.$('#su');
    await search_btn.click();

}

run ();
 
执行后产生异常: UnhandledPromiseRejectionWarning: TypeError: browser.newPage is not a function

查阅puppeteer手册,关于launch返回值定义。能够看到是一个异步方法。
 
puppeteer.launch([options])
returns: <Promise<Browser>> Promise which resolves
to browser instance1234
 
错误代码中调用launch马上返回,browser并未指向任何实例。
所以browser.newPage()方法爆出is not a function错误。在puppeteer.launch()前加上await问题解决。
相关文章
相关标签/搜索