美文网首页自动化测试
Puppeteer 实现批量信息录入

Puppeteer 实现批量信息录入

作者: 子页 | 来源:发表于2018-08-03 17:55 被阅读0次

    昨天接到一个任务录入人员信息,有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()) {
    ……
    }
    

    相关文章

      网友评论

        本文标题:Puppeteer 实现批量信息录入

        本文链接:https://www.haomeiwen.com/subject/xjruvftx.html