{"record":{"id":"8c87ffca7e90da47","repo":"microsoft/playwright","slug":"dropping-a-directory-is-not-supported-pass-indiv","errorCode":null,"errorMessage":"Dropping a directory is not supported — pass individual files.","messagePattern":"Dropping a directory is not supported — pass individual files\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/playwright-core/src/client/frame.ts","lineNumber":338,"sourceCode":"\n  async click(selector: string, options: channels.FrameClickOptions & TimeoutOptions = {}) {\n    return await this._channel.click({ selector, ...options }, this._timeout(options));\n  }\n\n  async dblclick(selector: string, options: channels.FrameDblclickOptions & TimeoutOptions = {}) {\n    return await this._channel.dblclick({ selector, ...options }, this._timeout(options));\n  }\n\n  async dragAndDrop(source: string, target: string, options: channels.FrameDragAndDropOptions & TimeoutOptions = {}) {\n    return await this._channel.dragAndDrop({ source, target, ...options }, this._timeout(options));\n  }\n\n  async _drop(selector: string, payload: DropPayload, options: Omit<channels.FrameDropOptions, 'payloads' | 'localPaths' | 'streams' | 'data'> & TimeoutOptions = {}) {\n    let fileParams: { payloads?: channels.FrameDropParams['payloads'], localPaths?: string[], streams?: channels.FrameDropParams['streams'] } = {};\n    if (payload.files !== undefined) {\n      const converted = await convertInputFiles(payload.files, this.page().context());\n      if (converted.localDirectory || converted.directoryStream)\n        throw new Error('Dropping a directory is not supported — pass individual files.');\n      fileParams = { payloads: converted.payloads, localPaths: converted.localPaths, streams: converted.streams };\n    }\n    const dataArray = payload.data ? Object.entries(payload.data).map(([mimeType, value]) => ({ mimeType, value })) : undefined;\n    await this._channel.drop({\n      selector,\n      ...fileParams,\n      data: dataArray,\n      ...options,\n    }, this._timeout(options));\n  }\n\n  async tap(selector: string, options: channels.FrameTapOptions & TimeoutOptions = {}) {\n    return await this._channel.tap({ selector, ...options }, this._timeout(options));\n  }\n\n  async fill(selector: string, value: string, options: channels.FrameFillOptions & TimeoutOptions = {}) {\n    return await this._channel.fill({ selector, value, ...options }, this._timeout(options));\n  }","sourceCodeStart":320,"sourceCodeEnd":356,"githubUrl":"https://github.com/microsoft/playwright/blob/c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6/packages/playwright-core/src/client/frame.ts#L320-L356","documentation":"Error \"Dropping a directory is not supported — pass individual files.\" thrown in microsoft/playwright.","triggerScenarios":"Thrown at packages/playwright-core/src/client/frame.ts:338 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6","analyzedAt":"2026-08-12T07:26:36.950Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}