Skip to main content
Upload one or more files to a file input. Pass a selector for direct Playwright behavior, a prompt for AI-powered file input detection, or both. Python only.
# Direct selector
await page.upload_file("#file-input", files="/path/to/file.pdf")

# Multiple files
await page.upload_file("#file-input", files=["/path/to/file1.pdf", "/path/to/file2.pdf"])

# AI-powered file input detection
await page.upload_file(prompt="Upload the resume to the file input")

# Selector with AI fallback
await page.upload_file("#file-input", files="/path/to/file.pdf",
    prompt="Upload the resume to the file input")
ParameterTypeRequiredDescription
selectorstrNoCSS or XPath selector for the file input.
filesstr | list[str]NoFile path or list of file paths to upload.
promptstrNoNatural-language description of the file input to target.
aistrNoControls AI behavior. Default "fallback" tries the selector first, then AI.
Returns str - the resolved selector used.