如何使用puppeteer和dropzone上传文件?

时间:2017-09-16 18:36:56

标签: dropzone.js google-chrome-headless puppeteer

我使用puppeteer并且我有一个dropzone表单。

我想将chrome headless的文件添加到dropzone表单中。

我该怎么做?

注意: 表单包含一些dropzone事件中的一些操作(添加文件时)。

3 个答案:

答案 0 :(得分:2)

不确定我是否正确理解了问题,但请尝试以下方法:

const dropZoneInput = await page.$(inputID);
dropZoneInput.uploadFile(absolutePathToFile);

答案 1 :(得分:0)

我有操纵木偶戏的人:

git reflog -1

答案 2 :(得分:0)

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    ignoreDefaultArgs: true
  });
  const page = await browser.newPage();
  await page.goto('https://react-dropzone.js.org/');
  await page.waitForSelector('input[type=file]');
  const fileInput  = await page.$('#rsg-root > div > main > section > section:nth-child(3) > section > section:nth-child(1) > article > div:nth-child(2) > div.rsg--preview-60 > div > section > div > input[type=file]');
  await fileInput.uploadFile("./test/playground.js");

  ///trigger event
  await fileInput.evaluate(upload => upload.dispatchEvent(new Event('change', { bubbles: true })));
  ///

  await page.close();
})();