microsoft/playwright · error · Error
Passing a function is not supported as an argument here
Error message
Passing a function is not supported as an argument here
What it means
Error "Passing a function is not supported as an argument here" thrown in microsoft/playwright.
Source
Thrown at packages/playwright-core/src/client/jsHandle.ts:121
};
const value = serializeValue(arg, value => {
if (value instanceof JSHandle)
return { h: pushHandle(value._channel) };
if (typeof value === 'function' && registerCallback)
return { fn: registerCallback(value as Function) };
return { fallThrough: value };
});
return { value, handles };
}
export type EvaluateOptions = { exposeFunctions?: boolean };
export async function serializeArgumentWithCallbacks(owner: ChannelOwner<any>, page: Page | undefined, arg: any): Promise<channels.SerializedArgument> {
return await owner._wrapApiCall(async () => {
const exposePromises: Promise<void>[] = [];
const serialized = serializeArgument(arg, callback => {
if (!page)
throw new Error('Passing a function is not supported as an argument here');
const name = kFunctionBindingPrefix + createGuid();
exposePromises.push(page._exposeEvaluateCallback(name, callback));
return name;
});
await Promise.all(exposePromises);
return serialized;
}, { internal: true });
}
export function parseResult(value: channels.SerializedValue): any {
return parseSerializedValue(value, undefined);
}
export function assertMaxArguments(count: number, max: number): asserts count {
if (count > max)
throw new Error('Too many arguments. If you need to pass more than 1 argument to the function wrap them in an object.');
}
View on GitHub (pinned to c8fc3bf8d3)
When it happens
Trigger: Thrown at packages/playwright-core/src/client/jsHandle.ts:121 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microsoft/playwright@c8fc3bf8d3 (2026-08-12).
Data as JSON: /api/errors/15a64ebf987d0b00.
Report an issue: GitHub.