[Puppeteer]Puppeteer常用方法汇总

本文详细介绍了使用Puppeteer进行网页自动化操作的方法,包括启动浏览器、控制页面滚动、自动化登录、截图、性能测试及请求拦截等核心功能。通过具体示例,展示了如何设置页面视窗大小、获取页面元素信息,并提供了自动化测试的资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Puppeteer常用方法汇总

  1. puppeteer.launch
  • 无头模式
    true 直接运行代码,false 会跳出chrome浏览器,默认是true
  • slowMo 指定时间减慢Puppeteer的操作
  • devtools: true,会打开chrome的开发者工具
     const browser = await puppeteer.launch({
        headless: true,
        devtools: false,
        slowMo: 250,
    });
    
  1. 常见自动化登录页面

    const browser = await puppeteer.launch();
    
        const page = await browser.newPage(); //创建一个 Page 实例
        await page.goto('http://www.baidu.com/');
        await page.type('input[id="kw"]', 'puppeteer'); //输入
        await page.click('input[id="su"]'); //点击
        page.screenshot() 截图
        await page.waitFor(2000); //等2s
        await page.waitForSelector('div[class="result c-container "]'); //等dom加载完
        await  browser.close() //关闭浏览器
    
  2. 控制scrollh滑动

     // 1、第一个参数控制左右移动,第二个参数是控制上下移动
      await page.$eval('xxxx',div => div.scrollTo(1000,1000) );
      // 2、只上下移动和只是左右移动
      await page.waitFor(2000);
      await page.$eval('xxxx',div => div.scrollTop=10 );//上下移动
      await page.$eval('xxxx',div => div.scrollLeft=10 );//左右移动
    
  3. 点击两次

    await page.click('xxxx',{ clickCount: 2 });
    
  4. 清空输入框值

    const links = await page.evaluate(() => {
        return Array.from(document.querySelectorAll('div[class="result c-container "]'));
    });;
    const links = await page.$$eval('div[class="result c-container ', els => Array.from(els).map(el=> el));
    
  5. 设置页面视窗大小

    await page.setViewport({
    width: 1800,
    height: 900
    });
    
  6. eval

    const Value = await page.$eval('x', x => x.value);//获取x标签value值
    const innerText = await page.$eval('#x',x => x.innerText );// 得到标签之间的文本
    const html = await page.$eval('x', x => x.outerHTML);//获取x标签html内容
    const text = await page.$eval('x', x => x.id);得到x标签id的值
    const links = await page.$$eval('div[class="result c-container ', els => Array.from(els).map(el=> el));//获取搜索列表信息
    
  7. puppeteer 自动性能测试
    https://www.jianshu.com/p/93836da836c0

  8. puppeteer 拦截页面请求
    https://blog.csdn.net/Revivedsun/article/details/82811165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值