Puppeteer环境搭建的详细步骤

yizhihongxing

请您耐心阅读我的回答。

Puppeteer环境搭建的详细步骤

1. 安装Node.js

官方下载地址:https://nodejs.org

Puppeteer是基于Node.js开发的,因此要使用Puppeteer,必须先安装Node.js。下载安装完毕后,在命令行窗口中输入以下命令,检查是否安装成功:

node -v

若能正确输出Node.js的版本号,则说明安装成功。

2. 安装Puppeteer

在命令行窗口中输入以下命令,即可安装Puppeteer:

npm install puppeteer

3. 常见问题及解决方法

3.1 安装Puppeteer时下载缓慢

解决方法:

方案1

找到npm的全局配置文件 .npmrc(没有则新建),加入如下内容:

registry=https://registry.npm.taobao.org

保存退出后,再重新输入安装命令即可。

方案2

使用cnpm(淘宝npm)安装,命令如下:

cnpm install puppeteer

3.2 Puppeteer启动时报错

由于Puppeteer需要启动Chrome浏览器,因此在启动时可能会报错。常见错误如下:

3.2.1 命令行窗口提示Chrome相关文件未找到

解决方法:

安装所需的依赖,命令如下:

sudo apt-get install libx11-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxi-dev libxtst-dev libnss3-dev libcups2-dev libatk-bridge2.0-dev libgtk-3-dev libgconf-2-4 libasound2-dev libpangocairo-1.0-0

3.2.2 命令行窗口提示Chrome需要更新

解决方法:

升级所需的依赖,命令如下:

sudo apt-get update && sudo apt-get install -y libxss1 libappindicator1 libindicator7 libx11-xcb-dev libgtk-3-0 libatk-bridge2.0-0 libasound2 libnss3 xdg-utils fonts-liberation libgbm-dev

3.3 Puppeteer启动的Chrome浏览器未启用JavaScript

解决方法:

启动Chrome浏览器时,添加 --enable-features=NetworkService 参数,命令如下:

const browser = await puppeteer.launch({
  args: ['--enable-features=NetworkService']
});

示例

示例1:截取网页截图

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  const url = 'http://baidu.com';
  await page.goto(url, {waitUntil: 'networkidle2'});
  await page.screenshot({path: 'baidu.png'});
  await browser.close();
})();

上述代码用Puppeteer打开百度网站,等待页面加载完毕后,截取页面截图并保存为baidu.png。

示例2:获取百度搜索结果

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  const url = 'https://www.baidu.com/s?ie=UTF-8&wd=puppeteer';
  await page.goto(url, {waitUntil: 'networkidle2'});
  const results = await page.$$('.result.c-container');
  for (let i = 0; i < results.length; i++) {
    let text = await page.evaluate(el => el.textContent, results[i]);
    console.log(text);
    console.log('----------------------');
  }
  await browser.close();
})();

上述代码用Puppeteer打开百度搜索Puppeteer的结果页,获取所有搜索结果,并将搜索结果的文字信息输出到控制台。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Puppeteer环境搭建的详细步骤 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • NodeJS收发GET和POST请求的示例代码

    下面就是关于“NodeJS收发GET和POST请求的示例代码”的详细攻略: 1. NodeJS 监听 HTTP 请求 在 NodeJS 中,可以通过 http 模块来做 web 服务器,这样就可以监听 HTTP 请求并进行相应的处理,从而实现接收和发送请求的功能,代码如下所示: const http = require(‘http’); const serv…

    node js 2023年6月8日
    00
  • 浅谈高大上的微信小程序中渲染html内容—技术分享

    下面是“浅谈高大上的微信小程序中渲染html内容—技术分享”完整攻略。 1. 背景 随着微信小程序的不断发展,越来越多的开发者开始尝试在小程序中加载和渲染html内容,为用户呈现更加多样化、丰富的信息体验。但是,由于小程序和普通网页的差异性,导致小程序中渲染html内容的难度和复杂度较高。 2. 方案 2.1. 方案一:wxParse wxParse是一款基…

    node js 2023年6月8日
    00
  • 代码规范需要防微杜渐code review6个小错误纠正

    下面我将详细讲解“代码规范需要防微杜渐code review6个小错误纠正”的完整攻略。 1. 概述 代码规范是指开发者在编码时需要遵循的一些约定,如变量命名、代码格式、注释规范等。良好的代码规范可以提高代码的可读性、可维护性和可扩展性。而code review(代码审核)则是指对开发人员提交的代码进行仔细的检查和审查,以便发现和纠正代码中的问题和错误。 在…

    node js 2023年6月8日
    00
  • Node中node_modules文件夹及package.json文件的作用说明

    Node中node_modules文件夹及package.json文件的作用说明 当我们使用Node.js开发项目时,经常会涉及第三方模块或库的引入和使用。对于一些简单的项目,我们可以直接在代码中通过require函数引入第三方模块,但是对于复杂的项目来说,这样的操作非常繁琐,而且也不容易管理项目依赖。Node.js提供了node_modules文件夹和pa…

    node js 2023年6月8日
    00
  • JavaScript实现单链表过程解析

    JavaScript实现单链表过程解析 什么是单链表? 单链表是一种常见的数据结构,它由若干个节点组成,每个节点包含两个部分:数据域和指针域。数据域用来存储节点的数据,指针域则用来存储下一个节点的地址。由于每个节点只包含一个指针域,所以它们被称为单链表。 实现单链表的关键操作 1.创建节点 创建节点的过程就是一个简单的对象创建过程,我们可以使用对象字面量来表…

    node js 2023年6月8日
    00
  • 如何用nodejs搭建代理服务器

    下面是关于如何用Node.js搭建代理服务器的攻略。 简介 代理服务器是一种位于客户端与目标服务器之间的服务器,用于转发客户端请求,使得客户端能够通过代理服务器与目标服务器进行数据通信。通常代理服务器可以提供更快的速度、更高的安全性、过滤内容、缓存静态内容等诸多功能。Node.js作为目前最为流行的后端JavaScript技术,也可以利用其强大的网络库和Ja…

    node js 2023年6月8日
    00
  • Node.JS获取GET,POST数据之queryString模块使用方法详解

    下面是详细讲解“Node.JS获取GET,POST数据之queryString模块使用方法详解”的完整攻略。 什么是queryString模块? Node.js中的queryString模块可以用于解析和格式化URL查询字符串(query string)。它是一个内置模块,因此无需单独安装。queryString模块主要包含两个方法: queryString…

    node js 2023年6月8日
    00
  • node.js开发辅助工具nodemon安装与配置详解

    Node.js开发辅助工具nodemon安装与配置详解 什么是nodemon? nodemon是一个node.js应用程序的开发工具。它会监视您代码的更改并自动重启应用程序。因此,您无需在每次更改代码后手动重启应用程序,这在开发过程中非常方便。 安装nodemon 要安装nodemon,请打开终端并输入以下命令: npm install -g nodemon…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部