'upload files with puppeteer

I want upload file to a website with puppeteer, I can do this pointing the file directly, but I would like upload the file of an <input type='file'>.

const puppeteer = require("puppeteer");
var file;
   //File would be the file select through the input in html, but I dont know how to get him.

(async() => {
  const browser = await puppeteer.launch({
    'headless': false,
    'slowMo': 20  
  });
  const page = await browser.newPage();
  await page.goto("https://uppy.io/examples/xhrupload/", {'waitUntil': 'networkidle2'});

  const [fileChooser] = await Promise.all([
      page.waitForFileChooser(),
      page.click('.uppy-FileInput-btn'),

  ]); 
  
  await fileChooser.accept([file]); 
    /*You can reproduce this upload easily, pointing the file directly: 
      await fileChooser.accept(['./file.docx']); */

   
  await browser.close();
})();


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source