[Home](./index.md) > [puppeteer](./puppeteer.md) > [FileChooser](./puppeteer.filechooser.md) ## FileChooser class File choosers let you react to the page requesting for a file. Signature: ```typescript export declare class FileChooser ``` ## Remarks `FileChooser` objects are returned via the `page.waitForFileChooser` method. The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `FileChooser` class. ## Example An example of using `FileChooser`: ```js const [fileChooser] = await Promise.all([ page.waitForFileChooser(), page.click('#upload-file-button'), // some button that triggers file selection ]); await fileChooser.accept(['/tmp/myfile.pdf']); ``` \*\*NOTE\*\* In browsers, only one file chooser can be opened at a time. All file choosers must be accepted or canceled. Not doing so will prevent subsequent file choosers from appearing. ## Methods | Method | Modifiers | Description | | --- | --- | --- | | [accept(filePaths)](./puppeteer.filechooser.accept.md) | | Accept the file chooser request with given paths. | | [cancel()](./puppeteer.filechooser.cancel.md) | | Closes the file chooser without selecting any files. | | [isMultiple()](./puppeteer.filechooser.ismultiple.md) | | Whether file chooser allow for [multiple](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple) file selection. |