Open source

Playwright APIs in k6

The following table shows which Playwright APIs are implemented in k6. k6 tries to match Playwright’s API behavior and signature exactly, but some differences may exist. For more details, refer to the individual API documentation page.

The status column has three different options:

StatusDescription
🟩Implemented in k6 Browser
πŸŸ₯Not implemented in k6 Browser
🟧k6 Browser only

Note

If k6 is missing an API from Playwright that you need for your test, you can open an issue in the k6 GitHub repository.

ObjectMethodStatusAlternate
BrowseraddListenerπŸŸ₯None
BrowserbrowserTypeπŸŸ₯None
Browserclose🟩Only on browsers returned by chromium.connectOverCDP
BrowsercloseContext🟧-
Browsercontext🟧-
BrowsercontextsπŸŸ₯browser.context
BrowserisConnected🟩-
BrowsernewBrowserCDPSessionπŸŸ₯None
BrowsernewContext🟩-
BrowsernewPage🟩-
BrowseroffπŸŸ₯None
BrowseronπŸŸ₯page.on
BrowseronceπŸŸ₯None
BrowserprependListenerπŸŸ₯None
BrowserremoveAllListenersπŸŸ₯None
BrowserremoveListenerπŸŸ₯None
BrowserstartTracingπŸŸ₯None
BrowserstopTracingπŸŸ₯None
BrowseruserAgent🟩-
Browserversion🟩-
BrowserContextaddCookies🟩-
BrowserContextaddInitScript🟩-
BrowserContextaddListenerπŸŸ₯None
BrowserContextbackgroundPagesπŸŸ₯None
BrowserContextbrowser🟩-
BrowserContextclearCookies🟩-
BrowserContextclearPermissions🟩-
BrowserContextclose🟩-
BrowserContextcookies🟩-
BrowserContextexposeBindingπŸŸ₯None
BrowserContextexposeFunctionπŸŸ₯None
BrowserContextgrantPermissions🟩-
BrowserContextnewCDPSessionπŸŸ₯None
BrowserContextnewPage🟩-
BrowserContextoffπŸŸ₯None
BrowserContextonπŸŸ₯page.on
BrowserContextonceπŸŸ₯None
BrowserContextpages🟩-
BrowserContextprependListenerπŸŸ₯None
BrowserContextremoveAllListenersπŸŸ₯None
BrowserContextremoveListenerπŸŸ₯None
BrowserContextrouteπŸŸ₯page.route
BrowserContextrouteFromHARπŸŸ₯None
BrowserContextrouteWebSocketπŸŸ₯None
BrowserContextserviceWorkersπŸŸ₯None
BrowserContextsetDefaultNavigationTimeout🟩-
BrowserContextsetDefaultTimeout🟩-
BrowserContextsetExtraHTTPHeadersπŸŸ₯page.setExtraHTTPHeaders
BrowserContextsetGeolocation🟩-
BrowserContextsetHTTPCredentialsπŸŸ₯None
BrowserContextsetOffline🟩-
BrowserContextstorageStateπŸŸ₯None
BrowserContextunrouteπŸŸ₯page.unroute
BrowserContextunrouteAllπŸŸ₯page.unrouteAll
BrowserContextwaitForEvent🟩-
BrowserTypeconnectOverCDP🟩-
ConsoleMessageargs🟩-
ConsoleMessagelocationπŸŸ₯None
ConsoleMessagepage🟩-
ConsoleMessagetext🟩-
ConsoleMessagetype🟩-
DialogacceptπŸŸ₯None
DialogdefaultValueπŸŸ₯None
DialogdismissπŸŸ₯None
DialogmessageπŸŸ₯None
DialogpageπŸŸ₯None
DialogtypeπŸŸ₯None
DownloadcancelπŸŸ₯None
DownloadcreateReadStreamπŸŸ₯None
DownloaddeleteπŸŸ₯None
DownloadfailureπŸŸ₯None
DownloadpageπŸŸ₯None
DownloadpathπŸŸ₯None
DownloadsaveAsπŸŸ₯None
DownloadsuggestedFilenameπŸŸ₯None
DownloadurlπŸŸ₯None
ElementHandle$🟩-
ElementHandle$$🟩-
ElementHandle$$evalπŸŸ₯None
ElementHandle$evalπŸŸ₯None
ElementHandleasElement🟩-
ElementHandleboundingBox🟩-
ElementHandlecheck🟩-
ElementHandleclick🟩-
ElementHandlecontentFrame🟩-
ElementHandledblclick🟩-
ElementHandledispatchEvent🟩-
ElementHandledispose🟩-
ElementHandleevaluate🟩-
ElementHandleevaluateHandle🟩-
ElementHandlefill🟩-
ElementHandlefocus🟩-
ElementHandlegetAttribute🟩-
ElementHandlegetProperties🟩-
ElementHandlegetPropertyπŸŸ₯elementHandle.getProperties
ElementHandlehover🟩-
ElementHandleinnerHTML🟩-
ElementHandleinnerText🟩-
ElementHandleinputValue🟩-
ElementHandleisChecked🟩-
ElementHandleisDisabled🟩-
ElementHandleisEditable🟩-
ElementHandleisEnabled🟩-
ElementHandleisHidden🟩-
ElementHandleisVisible🟩-
ElementHandlejsonValue🟩-
ElementHandleownerFrame🟩-
ElementHandlepress🟩-
ElementHandlescreenshot🟩-
ElementHandlescrollIntoViewIfNeeded🟩-
ElementHandleselectOption🟩-
ElementHandleselectText🟩-
ElementHandlesetChecked🟩-
ElementHandlesetInputFiles🟩-
ElementHandletap🟩-
ElementHandletextContent🟩-
ElementHandletype🟩-
ElementHandleuncheck🟩-
ElementHandlewaitForElementState🟩-
ElementHandlewaitForSelector🟩-
FileChooserelementπŸŸ₯None
FileChooserisMultipleπŸŸ₯None
FileChooserpageπŸŸ₯None
FileChoosersetFilesπŸŸ₯None
Frame$🟩-
Frame$$🟩-
Frame$$evalπŸŸ₯None
Frame$evalπŸŸ₯None
FrameaddScriptTagπŸŸ₯None
FrameaddStyleTagπŸŸ₯None
Framecheck🟩-
FramechildFrames🟩-
Frameclick🟩-
Framecontent🟩-
Framedblclick🟩-
FramedispatchEvent🟩-
FramedragAndDropπŸŸ₯None
Frameevaluate🟩-
FrameevaluateHandle🟩-
Framefill🟩-
Framefocus🟩-
FrameframeElement🟩-
FrameframeLocator🟩-
FramegetAttribute🟩-
FramegetByAltText🟩-
FramegetByLabel🟩-
FramegetByPlaceholder🟩-
FramegetByRole🟩-
FramegetByTestId🟩-
FramegetByText🟩-
FramegetByTitle🟩-
Framegoto🟩-
Framehover🟩-
FrameinnerHTML🟩-
FrameinnerText🟩-
FrameinputValue🟩-
FrameisChecked🟩-
FrameisDetached🟩-
FrameisDisabled🟩-
FrameisEditable🟩-
FrameisEnabled🟩-
FrameisHidden🟩-
FrameisVisible🟩-
Framelocator🟩-
Framename🟩-
Framepage🟩-
FrameparentFrame🟩-
Framepress🟩-
FrameselectOption🟩-
FramesetChecked🟩-
FramesetContent🟩-
FramesetInputFiles🟩-
Frametap🟩-
FrametextContent🟩-
Frametitle🟩-
Frametype🟩-
Frameuncheck🟩-
Frameurl🟩-
FramewaitForFunction🟩-
FramewaitForLoadState🟩-
FramewaitForNavigation🟩-
FramewaitForSelector🟩-
FramewaitForTimeout🟩-
FramewaitForURL🟩-
FrameLocatorfirstπŸŸ₯None
FrameLocatorframeLocator🟩-
FrameLocatorgetByAltText🟩-
FrameLocatorgetByLabel🟩-
FrameLocatorgetByPlaceholder🟩-
FrameLocatorgetByRole🟩-
FrameLocatorgetByTestId🟩-
FrameLocatorgetByText🟩-
FrameLocatorgetByTitle🟩-
FrameLocatorlastπŸŸ₯None
FrameLocatorlocator🟩-
FrameLocatornthπŸŸ₯None
FrameLocatorownerπŸŸ₯None
JSHandleasElement🟩-
JSHandledispose🟩-
JSHandleevaluate🟩-
JSHandleevaluateHandle🟩-
JSHandlegetProperties🟩-
JSHandlegetPropertyπŸŸ₯jsHandle.getProperties
JSHandlejsonValue🟩-
Keyboarddown🟩-
KeyboardinsertText🟩-
Keyboardpress🟩-
Keyboardtype🟩-
Keyboardup🟩-
Locatorall🟩-
LocatorallInnerTextsπŸŸ₯None
LocatorallTextContentsπŸŸ₯None
LocatorandπŸŸ₯None
LocatorariaSnapshotπŸŸ₯None
LocatorblurπŸŸ₯None
LocatorboundingBox🟩-
Locatorcheck🟩-
Locatorclear🟩-
Locatorclick🟩-
LocatorcontentFrame🟩-
Locatorcount🟩-
Locatordblclick🟩-
LocatordispatchEvent🟩-
LocatordragToπŸŸ₯None
LocatorelementHandleπŸŸ₯None
LocatorelementHandlesπŸŸ₯None
Locatorevaluate🟩-
LocatorevaluateAllπŸŸ₯None
LocatorevaluateHandle🟩-
Locatorfill🟩-
Locatorfilter🟩-
Locatorfirst🟩-
Locatorfocus🟩-
LocatorframeLocator🟩-
LocatorgetAttribute🟩-
LocatorgetByAltText🟩-
LocatorgetByLabel🟩-
LocatorgetByPlaceholder🟩-
LocatorgetByRole🟩-
LocatorgetByTestId🟩-
LocatorgetByText🟩-
LocatorgetByTitle🟩-
LocatorhighlightπŸŸ₯None
Locatorhover🟩-
LocatorinnerHTML🟩-
LocatorinnerText🟩-
LocatorinputValue🟩-
LocatorisChecked🟩-
LocatorisDisabled🟩-
LocatorisEditable🟩-
LocatorisEnabled🟩-
LocatorisHidden🟩-
LocatorisVisible🟩-
Locatorlast🟩-
Locatorlocator🟩-
Locatornth🟩-
LocatororπŸŸ₯None
LocatorpageπŸŸ₯None
Locatorpress🟩-
LocatorpressSequentiallyπŸŸ₯None
LocatorscreenshotπŸŸ₯None
LocatorscrollIntoViewIfNeededπŸŸ₯None
LocatorselectOption🟩-
LocatorselectTextπŸŸ₯None
LocatorsetChecked🟩-
LocatorsetInputFilesπŸŸ₯None
Locatortap🟩-
LocatortextContent🟩-
Locatortype🟩-
Locatoruncheck🟩-
LocatorwaitFor🟩-
Mouseclick🟩-
Mousedblclick🟩-
Mousedown🟩-
Mousemove🟩-
Mouseup🟩-
MousewheelπŸŸ₯None
Page$🟩-
Page$$🟩-
Page$$evalπŸŸ₯None
Page$evalπŸŸ₯None
PageaddInitScriptπŸŸ₯browserContext.addInitScript
PageaddListenerπŸŸ₯None
PageaddLocatorHandlerπŸŸ₯None
PageaddScriptTagπŸŸ₯None
PageaddStyleTagπŸŸ₯None
PagebringToFront🟩-
Pagecheck🟩-
Pageclick🟩-
Pageclose🟩-
Pagecontent🟩-
Pagecontext🟩-
Pagedblclick🟩-
PagedispatchEvent🟩-
PagedragAndDropπŸŸ₯None
PageemulateMedia🟩-
PageemulateVisionDeficiency🟧-
Pageevaluate🟩-
PageevaluateHandle🟩-
PageexposeBindingπŸŸ₯None
PageexposeFunctionπŸŸ₯None
Pagefill🟩-
Pagefocus🟩-
PageframeπŸŸ₯None
PageframeLocator🟩-
Pageframes🟩-
PagegetAttribute🟩-
PagegetByAltText🟩-
PagegetByLabel🟩-
PagegetByPlaceholder🟩-
PagegetByRole🟩-
PagegetByTestId🟩-
PagegetByText🟩-
PagegetByTitle🟩-
PagegoBackπŸŸ₯None
PagegoForwardπŸŸ₯None
Pagegoto🟩-
Pagehover🟩-
PageinnerHTML🟩-
PageinnerText🟩-
PageinputValue🟩-
PageisChecked🟩-
PageisClosed🟩-
PageisDisabled🟩-
PageisEditable🟩-
PageisEnabled🟩-
PageisHidden🟩-
PageisVisible🟩-
Pagelocator🟩-
PagemainFrame🟩-
PageoffπŸŸ₯None
Pageon🟩-
PageonceπŸŸ₯None
Pageopener🟩-
PagepauseπŸŸ₯None
PagepdfπŸŸ₯None
PageprependListenerπŸŸ₯None
Pagepress🟩-
Pagereload🟩-
PageremoveAllListenersπŸŸ₯None
PageremoveListenerπŸŸ₯None
PageremoveLocatorHandlerπŸŸ₯None
PagerequestGCπŸŸ₯None
Pageroute🟩-
PagerouteFromHARπŸŸ₯None
PagerouteWebSocketπŸŸ₯None
Pagescreenshot🟩-
PageselectOption🟩-
PagesetChecked🟩-
PagesetContent🟩-
PagesetDefaultNavigationTimeout🟩-
PagesetDefaultTimeout🟩-
PagesetExtraHTTPHeaders🟩-
PagesetInputFiles🟩-
PagesetViewportSize🟩-
Pagetap🟩-
PagetextContent🟩-
PagethrottleCPU🟧-
PagethrottleNetwork🟧-
Pagetitle🟩-
Pagetype🟩-
Pageuncheck🟩-
Pageunroute🟩-
PageunrouteAll🟩-
Pageurl🟩-
PagevideoπŸŸ₯None
PageviewportSize🟩-
PagewaitForEventπŸŸ₯None
PagewaitForFunction🟩-
PagewaitForLoadState🟩-
PagewaitForNavigation🟩-
PagewaitForRequest🟩-
PagewaitForResponse🟩-
PagewaitForSelector🟩-
PagewaitForTimeout🟩-
PagewaitForURL🟩-
Pageworkers🟩-
RequestallHeaders🟩-
RequestfailureπŸŸ₯None
Requestframe🟩-
RequestheaderValue🟩-
Requestheaders🟩-
RequestheadersArray🟩-
RequestisNavigationRequest🟩-
Requestmethod🟩-
RequestpostData🟩-
RequestpostDataBuffer🟩-
RequestpostDataJSONπŸŸ₯None
RequestredirectedFromπŸŸ₯None
RequestredirectedToπŸŸ₯None
RequestresourceType🟩-
Requestresponse🟩-
RequestserviceWorkerπŸŸ₯None
Requestsize🟧-
RequestsizesπŸŸ₯request.size
Requesttiming🟩-
Requesturl🟩-
ResponseallHeaders🟩-
Responsebody🟩-
ResponsefinishedπŸŸ₯None
Responseframe🟩-
ResponsefromServiceWorkerπŸŸ₯None
ResponseheaderValue🟩-
ResponseheaderValues🟩-
Responseheaders🟩-
ResponseheadersArray🟩-
Responsejson🟩-
Responseok🟩-
Responserequest🟩-
ResponsesecurityDetails🟩-
ResponseserverAddr🟩-
Responsesize🟧-
Responsestatus🟩-
ResponsestatusText🟩-
ResponsetextπŸŸ₯None
Responseurl🟩-
Routeabort🟩-
Routecontinue🟩-
RoutefallbackπŸŸ₯None
RoutefetchπŸŸ₯None
Routefulfill🟩-
Routerequest🟩-
Touchscreentap🟩-
WorkeraddListenerπŸŸ₯None
WorkerevaluateπŸŸ₯None
WorkerevaluateHandleπŸŸ₯None
WorkeroffπŸŸ₯None
WorkeronπŸŸ₯None
WorkeronceπŸŸ₯None
WorkerprependListenerπŸŸ₯None
WorkerremoveListenerπŸŸ₯None
Workerurl🟩-