Puppeteer 实现批量信息录入

昨天接到一个任务录入人员信息,有200多条,本该提供批量录入功能,结果只能一条一条复制粘贴,添加的时候还需要确认。刚好前两天研究了Puppeteer,可以模拟界面录入功能。因为保密原因,不能贴出相应的代码,就简单贴出模拟百度搜索的功能代码

环境需要

安装nodejs,puppeteer

模拟百度搜索代码

(async () => {
    const browser = await puppeteer.launch({
        ignoreHTTPSErrors: true,
        headless: false,
        slowMo: 250,
        timeout: 0
    });
    const page = await browser.newPage();

    await page.setViewport({
        width: 1024,
        height: 980
    })
    await page.goto('https://www.baidu.com/');
    const nm = await page.$("#kw");//通过id获得页面上的控件
    await nm.focus(); //定位到搜索框
    await page.keyboard.type("puppeteer");//模拟输入
    const btn = await page.$("#su");
    btn.click();//模拟按钮单击事件
    // await page.close();
    // await browser.close();
})();

用到的技术点

const browser = await puppeteer.launch();//获得browser对象
const page = await browser.newPage();//获得page对象
await page.goto('https://www.baidu.com/'); //页面跳转
const name = await page.$("input[name='ryname']");//通过name获得页面上的控件
const nm = await page.$("#kw");//通过id获得页面上的控件
await nm.focus(); //定位到搜索框
await page.keyboard.type("puppeteer");//模拟输入
const btn = await page.$("#su");
btn.click();//模拟按钮单击事件
let iframe = await page.frames().find(f => f.name() === 'qy_r');//找名称为qy_r的子框架
//子框架遍历
for (let child of iframe.childFrames()) {
……
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 表5是我们超过1亿美元以上的普通股投资,一部分的投资是属于伯克希尔关系企业所持有。 表5 除了股票分割,我们199...
    妞妞大富翁_椛神阅读 2,607评论 0 0
  • 忍不住会思考人生的意义,本质,来源,去向。或许,美国到大学才学各种理论知识是对的吧!我现在确实忘了很多知识了,别人...
    花满花阅读 1,598评论 0 0

友情链接更多精彩内容