其他分享
首页 > 其他分享> > puppeteer自动化网页的一些简单练习

puppeteer自动化网页的一些简单练习

作者:互联网

使用的一些练习

/**
 * puppeteer 自动化练习
 */
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false,//是否无头
    ignoreHTTPSErrors: true,//忽略https错误
    // ignoreDefaultArgs: ['--enable-automation'],//去除上方的受自动软件控制提示
    args: [
      '--no-sandbox', // 不开启沙箱
      '--disable-features=site-per-process',  // 加这个可以查看到iframe,用上面的就看不到iframe了
      // `--window-size=360,640`, // 设置打开浏览器的窗口大小
      '--disable-ios-password-suggestions',   // 不弹出保存密码
    ],
  });
  let pages = await browser.pages();//获取所有打开的页面
  const page = pages[0]
  await page.goto('https://www.baidu.com');



  const x = { a: 1 }

  // const page = await browser.newPage();//创建新标签页
  //设置ua为安卓
  // await page.setUserAgent("Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36")
  // await page.setViewport({//设置页面大小
  //   width: 360,
  //   height: 640,
  // })
  // await page.goto('https://www.baidu.com');


  await page.type('#kw', 'herry菌');
  await page.click('#su')
  await page.waitForTimeout(1000)
  //监听打印
  // page.on('console', msg => {
  //   console.log('打印', msg.text())
  // })
  //等待符合条件
  await page.waitForFunction(() => {
    return true;
  })
  //网页中执行js代码 可传数据进去 不能传函数
  await page.evaluate(async ({ x }) => {
    const timeout = async (t) => {
      return new Promise((resolve) => {
        setTimeout(() => {
          resolve()
        }, t)
      })
    }
    await timeout(1000)
    $('#content_left .result').eq(0).find('a').eq(0)[0].click()
  }, { x })
  await page.waitForTimeout(1000)//延迟
  pages = await browser.pages();
  const page2 = pages[1]//新打开的页面
  await page2.type('#q', 'herry菌');
  // await page2.evaluate(async () => {
  //   console.log(2222)
  // })
  // await page.waitForSelector('#content_left')
  //截图
  // await page.screenshot({
  //   path: 'baidu.png',
  //   omitBackground: true,
  //   fullPage: true,
  // });
  // const ua = await browser.userAgent();//获取ua
  // await browser.close();
})();

 

标签:await,const,--,pages,练习,puppeteer,网页,page,browser
来源: https://www.cnblogs.com/wuhairui/p/15603496.html