zoukankan      html  css  js  c++  java
  • 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({ 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");
    };
  • 相关阅读:
    肥胖儿筛选标准
    文章索引
    面向对象66原则
    [精]Xpath路径表达式
    [精]XPath入门教程
    孕产期高危因素
    “华而不实”的转盘菜单(pie menu)
    xmind用例导excel用例,然后再用python排版
    NSObject
    [self class]与[super class]
  • 原文地址:https://www.cnblogs.com/WarrenLee/p/11528422.html
Copyright © 2011-2022 走看看