koa + Puppeteer 登陸百度雲盤並上傳文件

/** * Created by Warren on 2019/9/16. */const puppeteer = require("puppeteer");exports.loginFn = async ctx =>{    const browser = await puppeteer.launch({        ignoreHTTPSErrors: true, headless: false,args: [ '--no-sandbox', '--disable-setuid-sandbox' ],    });    const page = await browser.newPage();    await page.setViewport({width: 1920, height: 1080});    const ps= await browser.pages();    await ps[0].close();    const addCookies = async (cookies_str, page, domain) => {        let cookies = cookies_str.split(';').map(            pair => {                let name = pair.trim().slice(0, pair.trim().indexOf('='));                let value = pair.trim().slice(pair.trim().indexOf('=') + 1);                return {name, value, domain}            });        await Promise.all(cookies.map(pair => {            return page.setCookie(pair)        }))    };    const cookieString ="本身的cookie";    await addCookies(cookieString, page, 'pan.baidu.com');   //雲盤的文件夾路徑    await page.goto("https://pan.baidu.com/disk/home?#/all?vmode=list&path=%2F%E8%87%AA%E5%8A%A8%E5%8C%96Upload", {        timeout: 600000,        waitUntil: "networkidle2"    });    await page.waitForSelector('.module-cardimport-box');    const btnClose = await page.$('div.icon-close');    await btnClose.click();    const btnUpload = await page.$('.blue-upload');    await btnUpload.hover();    const btnGroup = await page.$$('span.button-open>span>a');    const fileUploadBtn = btnGroup[0];    const fileUpload = await fileUploadBtn.$('input');    await fileUpload.uploadFile("D:\\Downloads\\certificate (1).jpg");    await fileUpload.uploadFile("D:\\SoftwareInstall\\TeamViewer_12.x_Setup_zhcn.exe");};
相關文章
相關標籤/搜索