/** * 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");};