首页 > 编程语言 >[javascript] 使用 puppeteer 包模拟 chrome 自动化

[javascript] 使用 puppeteer 包模拟 chrome 自动化

时间:2024-08-26 14:49:12浏览次数:13  
标签:await chrome javascript puppeteer click locator sleep page 1000

npm i puppeteer
const puppeteer = require('puppeteer');

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}


async function run() {
  const browser = await puppeteer.launch({ headless: false, args: ['--start-maximized'], devtools: false });
  const page = await browser.newPage();
  page.setViewport({ width: 1920, height: 919 })
  // console.log(page)
  await page.goto('http://xxxxxxx.com');
  await sleep(1000)
  await page.type("input[placeholder='请输入用户名']", 'fmg')
  await sleep(1000)
  await page.type("input[placeholder='请输入密码']", '3333333333')
  await sleep(1000)
  await page.locator(".login_btn").click()
  await sleep(1000)
  // 展开设备列表
  await page.locator('.el-menu  .el-sub-menu:nth-child(1)').click()
  await sleep(1000)
  // 点击设备列表
  await page.locator('.el-menu  .el-menu-item:nth-child(2)').click()
  await sleep(1000)
  // 选择充电
  await page.locator('.nav_header  li:nth-child(4)').click()
  await sleep(1000)
  // 点击待配置
  await page.locator('.card6 .nav_box li:nth-child(2)').click()
  await sleep(1000)
  // 点击带有 添加设备 的按钮
  await page.locator(".selects button:nth-child[2]").click()
}
run();

 

标签:await,chrome,javascript,puppeteer,click,locator,sleep,page,1000
From: https://www.cnblogs.com/fmg0224/p/18381010

相关文章

  • Javascript之函数式编程
    一、是什么函数式编程是一种"编程范式"(programmingparadigm),一种编写程序的方法论主要的编程范式有三种:命令式编程,声明式编程和函数式编程相比命令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算......
  • JavaScript中的内存泄露
    一、是什么内存泄漏(Memoryleak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费程序的运行需要内存。只要程序提......
  • 56个JavaScript 实用工具函数助你提升开发效率!
    今天来看看JavaScript中的一些实用的工具函数,希望能帮助你提高开发效率!整理不易,如果觉得有用就点个关注鼓励一下吧!1.数字操作(1)生成指定范围随机数export const randomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;(2)数字千分......
  • [Javascript] How to do big integers sum
    /***Bigintegersum*Usingstringstorepresentbigintegers*@param{string}a*@param{string}b*@returns{string}*/functionbigIntSum(a,b){constmaxLength=Math.max(a.length,b.length);constaStr=a.padStart(maxLength,"0&......
  • [Javascript] Refactor blocking style code to stream style for fetching the strea
    WhenyouuseChatGPT,theresponsecomesinstream,sothatitcanappearsonscreenwheneverdatacomebackfromserver,wedon'tneedtowaitalldatacompletedthenshowingthedatatousers. Hereiscodewhichneedtobeimproved,becausethis......
  • ZBlog搭建的网站有的时候会提示【JavaScript加载失败】
    经常会有朋友反映,自己通过ZBlog搭建的网站偶尔会出现【JavaScript加载失败】这样的提示。那么,当遭遇此种状况时究竟应当如何应对呢?首先,您需要仔细检查自己所使用的浏览器版本是否太过陈旧(例如像IE6/7/8之类的旧版本),或者是否因为所使用的插件出现错误从而损坏了系统的JS文......
  • 【JS|第24期】Puppeteer:50个常用操作,你会了吗?
    日期:2024年8月19日作者:Commas签名:(ง•_•)ง积跬步以致千里,积小流以成江海……注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^-^1.01365=37.7834;0.99365=0.02551.02365=1377.4083;0.98365=0.0006......
  • JavaScript 构建一个简单的待办事项应用
    包含添加、删除、标记任务功能。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>TodoList&......
  • [Javascript + Performance] How to run a large number of time-consuming tasks and
    Tryoption1:Promise PromiserunninginMicrotaskqueue,andrenderingshouldwaituntilthequeueisempty;Ifyouhavealargenumberoftime-consuminginmicrotask,itwillalsoblockrenderingfunctionrunTask(task){Promise.resolve().then(()=&g......
  • ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
    目录全面掌握:JavaScript解构赋值的终极指南一、数组解构赋值1、基本用法2、跳过元素3、剩余元素4、默认值二、对象解构赋值1、基本用法2、变量重命名3、默认值4、嵌套解构三、复杂的嵌套结构解构四、函数参数解构赋值1、对象解构作为函数参数2、带有默认值的函......