利用Puppeteer实现验证码网站登录

Puppeteer

puppeteer是由Google官方推出的一个node库,可以启动Chromium浏览器模拟人为操作,类似于PhantomJS。这为爬虫和自动化测试提供了便利。

流程

登录流程很简单:启动puppeteer打开目标网站,输入信息提交登录


架构

由于puppeteer是基于node的库,可以利用node做一个http服务。

1. 调用方发起http请求,puppeteer创建page实例打开目标网站,返回验证码等信息

2. 新生成的page会维护在一个对象池中,并由一个watcher监控page打开超时

3. 调用方传递登录账号验证码等信息发起登录请求

4. 从puppeteer对象池中拿出上一次的page实例,执行登录


示例

模拟登录浙江税务局

puppeteer对象:

const puppeteer = require('puppeteer')

class PageObject {
    constructor(options = {}) {
        this.headless = options.headless;
        this.args = options.args || [];
        this.executablePath = options.executablePath;

        
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值