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🟥None
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🟩-
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🟥locator.contentFrame
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🟥locator.contentFrame
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🟥locator.contentFrame
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🟥locator.contentFrame
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🟩-