Puppeteer 實(shí)現(xiàn)批量信息錄入

昨天接到一個(gè)任務(wù)錄入人員信息,有200多條,本該提供批量錄入功能,結(jié)果只能一條一條復(fù)制粘貼,添加的時(shí)候還需要確認(rèn)。剛好前兩天研究了Puppeteer,可以模擬界面錄入功能。因?yàn)楸C茉?,不能貼出相應(yīng)的代碼,就簡(jiǎn)單貼出模擬百度搜索的功能代碼

環(huán)境需要

安裝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();
})();

用到的技術(shù)點(diǎn)

const browser = await puppeteer.launch();//獲得browser對(duì)象
const page = await browser.newPage();//獲得page對(duì)象
await page.goto('https://www.baidu.com/'); //頁面跳轉(zhuǎn)
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()) {
……
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 表5是我們超過1億美元以上的普通股投資,一部分的投資是屬于伯克希爾關(guān)系企業(yè)所持有。 表5 除了股票分割,我們199...
    妞妞大富翁_椛神閱讀 352評(píng)論 0 0
  • 忍不住會(huì)思考人生的意義,本質(zhì),來源,去向?;蛟S,美國(guó)到大學(xué)才學(xué)各種理論知識(shí)是對(duì)的吧!我現(xiàn)在確實(shí)忘了很多知識(shí)了,別人...
    花滿花閱讀 252評(píng)論 0 0

友情鏈接更多精彩內(nèi)容