playwright/docs/src/api/class-filechooser.md
Dmitry Gozman ac2a35d0ed chore: deprecate/remove noWaitAfter from some actions
The following actions keep `noWaitAfter` option:
- `click`
- `selectOption`
- `press`

All other actions that used to have `noWaitAfter` now
only behave like it was set to true, not waiting for
follow-up navigations. In the docs, this option is marked
as completely ignored.

A small logic change was made to compensate for this behavior:
when waiting for the `hitTargetInterceptor`, we now race it
against navigations to avoid stalling when navigation stalls.
Previously, waiting for the interceptor was disabled when
`noWaitAfter` was passed, and since it's impossible to pass
this option now, we mitigate with never stalling instead.
2024-07-17 18:24:46 +01:00

2.1 KiB

class: FileChooser

  • since: v1.8

[FileChooser] objects are dispatched by the page in the [event: Page.fileChooser] event.

// Start waiting for file chooser before clicking. Note no await.
const fileChooserPromise = page.waitForEvent('filechooser');
await page.getByText('Upload file').click();
const fileChooser = await fileChooserPromise;
await fileChooser.setFiles(path.join(__dirname, 'myfile.pdf'));
FileChooser fileChooser = page.waitForFileChooser(() -> page.getByText("Upload file").click());
fileChooser.setFiles(Paths.get("myfile.pdf"));
async with page.expect_file_chooser() as fc_info:
    await page.get_by_text("Upload file").click()
file_chooser = await fc_info.value
await file_chooser.set_files("myfile.pdf")
with page.expect_file_chooser() as fc_info:
    page.get_by_text("Upload file").click()
file_chooser = fc_info.value
file_chooser.set_files("myfile.pdf")
var fileChooser = await page.RunAndWaitForFileChooserAsync(async () =>
{
    await page.GetByText("Upload file").ClickAsync();
});
await fileChooser.SetFilesAsync("temp.txt");

method: FileChooser.element

  • since: v1.8
  • returns: <[ElementHandle]>

Returns input element associated with this file chooser.

method: FileChooser.isMultiple

  • since: v1.8
  • returns: <[boolean]>

Returns whether this file chooser accepts multiple files.

method: FileChooser.page

  • since: v1.8
  • returns: <[Page]>

Returns page this file chooser belongs to.

async method: FileChooser.setFiles

  • since: v1.8

Sets the value of the file input this chooser is associated with. If some of the filePaths are relative paths, then they are resolved relative to the current working directory. For empty array, clears the selected files.

param: FileChooser.setFiles.files = %%-input-files-%%

  • since: v1.8

option: FileChooser.setFiles.noWaitAfter = %%-input-no-wait-after-removed-%%

  • since: v1.8

option: FileChooser.setFiles.timeout = %%-input-timeout-%%

  • since: v1.8

option: FileChooser.setFiles.timeout = %%-input-timeout-js-%%

  • since: v1.8