爬虫利器 Puppeteer实战全自动,监控登陆后页面的数据

const puppeteer = require('puppeteer');

 // 等待3000毫秒
 const sleep = time => new Promise(resolve => {
     setTimeout(resolve, time);
 })

//const url = `https://movie.douban.com/explore#!type=movie&tag=%E7%BB%8F%E5%85%B8&sort=rank&page_limit=20&page_start=0`;
const url = `http://www.xiaoyaoji.cn/dashboard`;
;(async() => {
    console.log('Start visit');
    // 启动一个浏览器
    const brower = await puppeteer.launch({
        args: ['--no-sandbox'],
        //dumpio: false,
        headless: true
    });

    const page = await brower.newPage()   // 开启一个新页面
    // 去豆瓣那个页面
    await page.goto(url, {
        waitUntil: 'networkidle2'  // 网络空闲说明已加载完毕
    });

    //await sleep(5000);
    // 点击搜索框拟人输入 鬼才会想起
    const name = 'mayanjun@haowumc.com';
    await page.type('.text.pristine.untouched', name, {delay: 0});
    const pwd = '密码';
    await page.type('.text.pristine.untouched', pwd, {delay: 1});
    const inputElement = await page.$('input[type=submit]');
    await inputElement.click();

    await page.waitForNavigation();
   
    console.log(page.url());
    await page.goto(url, {
        waitUntil: 'networkidle2'  // 网络空闲说明已加载完毕
    });

    // 结果
    const BRANDS_INFO_SELECTOR = 'div.mc.home-projects';
    const result = await page.evaluate(sel => {
        // 拿到页面上的jQuery
        const ulList = Array.from($(sel).find('div.col-sm-2'));
        const ctn = ulList.map(v => {
            const title = $(v).html();
                return {
                    title: title,
                };
        });
        return ctn;
    },BRANDS_INFO_SELECTOR);

    brower.close();
    console.log(result);
    console.log('End visit');
    // 关闭浏览器
    
})();

 

转载于:https://my.oschina.net/Alexmyj/blog/1919934

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值