1<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-stable docs-doc-page docs-doc-id-api/class-playwright" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.1"><title data-rh=true>Playwright Library | Playwright</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true property=og:image content=https://repository-images.githubusercontent.com/221981891/8c5c6942-c91f-4df1-825f-4cf474056bd7 /><meta data-rh=true name=twitter:image content=https://repository-images.githubusercontent.com/221981891/8c5c6942-c91f-4df1-825f-4cf474056bd7 /><meta data-rh=true property=og:url content=https://playwright.dev/docs/api/class-playwright /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=docusaurus_version content=stable /><meta data-rh=true name=docusaurus_tag content=docs-default-stable /><meta data-rh=true name=docsearch:version content=stable /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-stable /><meta data-rh=true property=og:title content="Playwright Library | Playwright"/><meta data-rh=true name=description content="Playwright module provides a method to launch a browser instance. The following is a typical example of using Playwright to drive automation:"/><meta data-rh=true property=og:description content="Playwright module provides a method to launch a browser instance. The following is a typical example of using Playwright to drive automation:"/><link data-rh=true rel=icon href=/img/playwright-logo.ico /><link data-rh=true rel=canonical href=https://playwright.dev/docs/api/class-playwright /><link data-rh=true rel=alternate href=https://playwright.dev/docs/api/class-playwright hreflang=en /><link data-rh=true rel=alternate href=https://playwright.dev/docs/api/class-playwright hreflang=x-default /><link data-rh=true rel=preconnect href=https://K09ICMCV6X-dsn.algolia.net crossorigin=anonymous />
1<script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://playwright.dev/docs/api/class-playwright","name":"Playwright Library","position":1}]}</script>
1<link rel=search type=application/opensearchdescription+xml title=Playwright href=/opensearch.xml>
1<script src=/js/redirection.js></script>
1<link rel=stylesheet href=/assets/css/styles.3714015c.css />
1<script src=/assets/js/runtime~main.f0d86e55.js defer></script>
1<script src=/assets/js/main.3a85c103.js defer></script>
1</head><body><svg style="display: none;"><defs> 2<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol> 3</defs></svg>
4<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme-e2a")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script>
4<div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/><div class=navbar__logo><img src=/img/playwright-logo.svg alt="Playwright logo" class="themedComponent_mlkZ themedComponent--light_NVdE"/><img src=/img/playwright-logo.svg alt="Playwright logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"/></div><b class="navbar__title text--truncate">Playwright</b></a><a class="navbar__item navbar__link" href=/docs/intro>Docs</a><a class="navbar__item navbar__link" href=/mcp/introduction>MCP</a><a class="navbar__item navbar__link" href=/agent-cli/introduction>CLI</a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/docs/api/class-playwright>API</a><div class="navbar__item dropdown dropdown--hoverable"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link>Node.js</a><ul class=dropdown__menu><li><a href=/docs/api/class-playwright target=_self rel="noopener noreferrer" class="dropdown__link undefined dropdown__link--active" data-language-prefix=/>Node.js</a><li><a href=/python/docs/api/class-playwright target=_self rel="noopener noreferrer" class=dropdown__link data-language-prefix=/python/>Python</a><li><a href=/java/docs/api/class-playwright target=_self rel="noopener noreferrer" class=dropdown__link data-language-prefix=/java/>Java</a><li><a href=/dotnet/docs/api/class-playwright target=_self rel="noopener noreferrer" class=dropdown__link data-language-prefix=/dotnet/>.NET</a></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href=https://github.com/microsoft/playwright target=_blank rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><a href=https://aka.ms/playwright/discord target=_blank rel="noopener noreferrer" class="navbar__item navbar__link header-discord-link" aria-label="Discord server"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313
41.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_Bca1><button type=button class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts=Meta+k><span class=DocSearch-Button-Container><svg width=20 height=20 class=DocSearch-Search-Icon viewBox="0 0 24 24" aria-hidden=true><circle cx=11 cy=11 r=8 stroke=currentColor fill=none stroke-width=1.4 /><path d="m21 21-4.3-4.3" stroke=currentColor fill=none stroke-linecap=round stroke-linejoin=round /></svg><span class=DocSearch-Button-Placeholder>Search</span></span><span class=DocSearch-Button-Keys></span></button></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true href=/docs/api/class-test><span title="API reference" class=categoryLinkLabel_W154>API reference</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-test><span title="Playwright Test" class=linkLabel_WmDU>Playwright Test</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/docs/api/class-playwright><span title="Playwright Library" class=linkLabel_WmDU>Playwright Library</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/api/class-apirequest><span title=Classes class=categoryLinkLabel_W154>Classes</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-apirequest><span title=APIRequest class=linkLabel_WmDU>APIRequest</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-apirequestcontext><span title=APIRequestContext class=linkLabel_WmDU>APIRequestContext</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-apiresponse><span title=APIResponse class=linkLabel_WmDU>APIResponse</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-browser><span title=Browser class=linkLabel_WmDU>Browser</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-browsercontext><span title=BrowserContext class=linkLabel_WmDU>BrowserContext</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-browserserver><span title=BrowserServer class=linkLabel_WmDU>BrowserServer</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-browsertype><span title=BrowserType class=linkLabel_WmDU>BrowserType</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-cdpsession><span title=CDPSession class=linkLabel_WmDU>CDPSession</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-clock><span title=Clock class=linkLabel_WmDU>Clock</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-consolemessage><span title=ConsoleMessage class=linkLabel_WmDU>ConsoleMessage</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-coverage><span title=Coverage class=linkLabel_WmDU>Coverage</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-credentials><span title=Credentials class=linkLabel_WmDU>Credentials</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-debugger><span title=Debugger class=linkLabel_WmDU>Debugger</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-dialog><span title=Dialog class=linkLabel_WmDU>Dialog</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-download><span title=Download class=linkLabel_WmDU>Download</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-elementhandle><span title=ElementHandle class=linkLabel_WmDU>ElementHandle</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-filechooser><span title=FileChooser class=linkLabel_WmDU>
4FileChooser</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-frame><span title=Frame class=linkLabel_WmDU>Frame</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-framelocator><span title=FrameLocator class=linkLabel_WmDU>FrameLocator</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-jshandle><span title=JSHandle class=linkLabel_WmDU>JSHandle</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-keyboard><span title=Keyboard class=linkLabel_WmDU>Keyboard</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-locator><span title=Locator class=linkLabel_WmDU>Locator</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-logger><span title=Logger class=linkLabel_WmDU>Logger</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-mouse><span title=Mouse class=linkLabel_WmDU>Mouse</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-page><span title=Page class=linkLabel_WmDU>Page</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-request><span title=Request class=linkLabel_WmDU>Request</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-response><span title=Response class=linkLabel_WmDU>Response</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-route><span title=Route class=linkLabel_WmDU>Route</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-screencast><span title=Screencast class=linkLabel_WmDU>Screencast</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-selectors><span title=Selectors class=linkLabel_WmDU>Selectors</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-timeouterror><span title=TimeoutError class=linkLabel_WmDU>TimeoutError</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-touchscreen><span title=Touchscreen class=linkLabel_WmDU>Touchscreen</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-tracing><span title=Tracing class=linkLabel_WmDU>Tracing</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-video><span title=Video class=linkLabel_WmDU>Video</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-weberror><span title=WebError class=linkLabel_WmDU>WebError</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-websocket><span title=WebSocket class=linkLabel_WmDU>WebSocket</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-websocketroute><span title=WebSocketRoute class=linkLabel_WmDU>WebSocketRoute</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-webstorage><span title=WebStorage class=linkLabel_WmDU>WebStorage</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-worker><span title=Worker class=linkLabel_WmDU>Worker</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/api/class-apiresponseassertions><span title=Assertions class=categoryLinkLabel_W154>Assertions</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-apiresponseassertions><span title=APIResponseAssertions class=linkLabel_WmDU>APIResponseAssertions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-genericassertions><span title=GenericAssertions class=linkLabel_WmDU>GenericAssertions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-locatorassertions><span title=LocatorAssertions class=linkLabel_WmDU>LocatorAssertions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-pageassertions><span title=PageAssertions class=linkLabel_WmDU>PageAssertions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-snapshotassertions><span title=SnapshotAssertions class=linkLabel_WmDU>
4SnapshotAssertions</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/api/class-fixtures><span title="Test Runner" class=categoryLinkLabel_W154>Test Runner</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-fixtures><span title=Fixtures class=linkLabel_WmDU>Fixtures</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-fullconfig><span title=FullConfig class=linkLabel_WmDU>FullConfig</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-fullproject><span title=FullProject class=linkLabel_WmDU>FullProject</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-location><span title=Location class=linkLabel_WmDU>Location</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-test><span title="Playwright Test" class=linkLabel_WmDU>Playwright Test</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testconfig><span title=TestConfig class=linkLabel_WmDU>TestConfig</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testinfo><span title=TestInfo class=linkLabel_WmDU>TestInfo</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testinfoerror><span title=TestInfoError class=linkLabel_WmDU>TestInfoError</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testoptions><span title=TestOptions class=linkLabel_WmDU>TestOptions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testproject><span title=TestProject class=linkLabel_WmDU>TestProject</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-teststepinfo><span title=TestStepInfo class=linkLabel_WmDU>TestStepInfo</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-workerinfo><span title=WorkerInfo class=linkLabel_WmDU>WorkerInfo</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/api/class-reporter><span title="Test Reporter" class=categoryLinkLabel_W154>Test Reporter</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-reporter><span title=Reporter class=linkLabel_WmDU>Reporter</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-suite><span title=Suite class=linkLabel_WmDU>Suite</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testcase><span title=TestCase class=linkLabel_WmDU>TestCase</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testerror><span title=TestError class=linkLabel_WmDU>TestError</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-testresult><span title=TestResult class=linkLabel_WmDU>TestResult</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-teststep><span title=TestStep class=linkLabel_WmDU>TestStep</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/api/class-android><span title=Experimental class=categoryLinkLabel_W154>Experimental</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-android><span title=Android class=linkLabel_WmDU>Android</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-androiddevice><span title=AndroidDevice class=linkLabel_WmDU>AndroidDevice</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-androidinput><span title=AndroidInput class=linkLabel_WmDU>AndroidInput</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-androidsocket><span title=AndroidSocket class=linkLabel_WmDU>AndroidSocket</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-androidwebview><span title=AndroidWebView class=linkLabel_WmDU>AndroidWebView</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-electron><span title=Electron class=linkLabel_WmDU>Electron</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/api/class-electronapplication><span title=ElectronApplication class=linkLabel_WmDU>ElectronApplication</span></a></ul></ul></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><span class=breadcrumbs__link>API reference</span><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Playwright Library</span></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Playwright Library</h1></header><p>Playwright module provides a method to launch a browser instance. The following is a typical example of using Playwright to drive automation:</p> 5<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"> chromium</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> firefox</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> webkit </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(220, 220, 170)">require</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">
5'playwright'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token keyword" style=color:#C586C0>async</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(212, 212, 212)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> browser </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> chromium</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">launch</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// Or 'firefox' or 'webkit'.</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> page </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> browser</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">newPage</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> page</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">goto</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'http://example.com'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// other actions...</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> browser</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">close</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><br/></div></code></pre></div></div> 6<hr/> 7<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=properties>Properties<a href=#properties class=hash-link aria-label="Direct link to Properties" title="Direct link to Properties" translate=no>â</a></h2> 8<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-chromium>chromium<a href=#playwright-chromium class=hash-link aria-label="Direct link to chromium" title="Direct link to chromium" translate=no>â</a></h3> 9<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 10<x-search>playwright.chromium</x-search> 11<p>This object can be used to launch or connect to Chromium, returning instances of <a title=Browser class="" href=/docs/api/class-browser>Browser</a>.</p> 12<p><strong>Usage</strong></p> 13<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">chromium</span><br/></div></code></pre></div></div> 14<p><strong>Type</strong></p> 15<ul> 16<li class=""><a title=BrowserType class="" href=/docs/api/class-browsertype>BrowserType</a></li> 17</ul> 18<hr/> 19<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-devices>devices<a href=#playwright-devices class=hash-link aria-label="Direct link to devices" title="Direct link to devices" translate=no>â</a></h3> 20<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 21<x-search>playwright.devices</x-search> 22<p>Returns a dictionary of devices to be used with <a class="" href=/docs/api/class-browser#browser-new-context>browser.newContext()</a> or <a class="" href=/docs/api/class-browser#browser-new-page>browser.newPage()</a>.</p> 23<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"> webkit</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">
23 devices </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(220, 220, 170)">require</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'playwright'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> iPhone </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> devices</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'iPhone 6'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token keyword" style=color:#C586C0>async</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(212, 212, 212)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> browser </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> webkit</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">launch</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> context </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> browser</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">newContext</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token spread operator" style="color:rgb(212, 212, 212)">...</span><span class="token plain">iPhone</span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword" style=color:#C586C0>const</span><span class="token plain"> page </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">newPage</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> page</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">goto</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'http://example.com'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// other actions...</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> browser</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">close</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><br/></div></code></pre></div></div> 24<p><strong>Usage</strong></p> 25<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">devices</span><br/></div></code></pre></div></div> 26<p><strong>Type</strong></p> 27<ul> 28<li class=""><a href=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object target=_blank rel="noopener noreferrer" title=Object class="">Object</a></li> 29</ul> 30<hr/> 31<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-errors>errors<a href=#playwright-errors class=hash-link aria-label="Direct link to errors" title="Direct link to errors" translate=no>â</a></h3> 32<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 33<x-search>playwright.errors</x-search> 34<p>Playwright methods might throw errors if they are unable to fulfill a request. For example, <a class="" href=/docs/api/class-locator#locator-wait-for>locator.waitFor()</a> might fail if the selector doesn't match any nodes during the given timeframe.</p> 35<p>For certain types of errors Playwright uses specific error classes. These classes are available via <a href=#playwright-errors class=""><code>playwright.errors</code></a>.</p> 36<p>An example of handling a timeout error:</p> 37<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token keyword control-flow" style=color:#C586C0>try</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>await</span><span class="token plain"> page</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">locator</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'.foo'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token method function property-access" style="color:rgb(220, 220, 170)">waitFor</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>catch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">e</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token keyword control-flow" style=color:#C586C0>if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">e </span><span class="token keyword" style=color:#C586C0>instanceof</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(78, 201, 176)">playwright</span><span class="token class-name punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token class-name" style="color:rgb(78, 201, 176)">errors</span><span class="token class-name punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token class-name" style="color:rgb(78, 201, 176)">TimeoutError</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// Do something if this is a timeout.</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"></span><br/></div><div class=token-line style=color:#D4D4D4><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><br/></div></code></pre></div></div> 38<p><strong>Usage</strong></p> 39<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">errors</span><br/></div></code></pre></div></div> 40<p><strong>Type</strong></p> 41<ul> 42<li class=""><a href=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object target=_blank rel="noopener noreferrer" title=Object class="">Object</a> 43<ul> 44<li class=""> 45<p><code>TimeoutError</code> <a href=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function target=_blank rel="noopener noreferrer" title=Function class="">function</a></p> 46<p>A class of <a title=TimeoutError class="" href=/docs/api/class-timeouterror>TimeoutError</a>.</p> 47</li> 48</ul> 49</li> 50</ul> 51<hr/> 52<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-firefox>firefox<a href=#playwright-firefox class=hash-link aria-label="Direct link to firefox" title="Direct link to firefox" translate=no>â</a></h3> 53<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 54<x-search>playwright.firefox</x-search> 55<p>This object can be used to launch or connect to Firefox, returning instances of <a title=Browser class="" href=/docs/api/class-browser>Browser</a>.</p> 56<p><strong>Usage</strong></p> 57<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">firefox</span><br/></div></code></pre></div></div> 58<p><strong>Type</strong></p> 59<ul> 60<li class=""><a title=BrowserType class="" href=/docs/api/class-browsertype>BrowserType</a></li> 61</ul> 62<hr/> 63<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-request>request<a href=#playwright-request class=hash-link aria-label="Direct link to request" title="Direct link to request" translate=no>â</a></h3> 64<font size=2 style=position:relative;top:-20px>Added in: v1.16</font> 65<x-search>playwright.request</x-search> 66<p>Exposes API that can be used for the Web API testing.</p> 67<p><strong>Usage</strong></p> 68<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">request</span><br/></div></code></pre></div></div> 69<p><strong>Type</strong></p> 70<ul> 71<li class=""><a title=APIRequest class="" href=/docs/api/class-apirequest>APIRequest</a></li> 72</ul> 73<hr/> 74<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-selectors>selectors<a href=#playwright-selectors class=hash-link aria-label="Direct link to selectors" title="Direct link to selectors" translate=no>â</a></h3> 75<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 76<x-search>playwright.selectors</x-search> 77<p>Selectors can be used to install custom selector engines. See <a clas
77s="" href=/docs/extensibility>extensibility</a> for more information.</p> 78<p><strong>Usage</strong></p> 79<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">selectors</span><br/></div></code></pre></div></div> 80<p><strong>Type</strong></p> 81<ul> 82<li class=""><a title=Selectors class="" href=/docs/api/class-selectors>Selectors</a></li> 83</ul> 84<hr/> 85<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=playwright-webkit>webkit<a href=#playwright-webkit class=hash-link aria-label="Direct link to webkit" title="Direct link to webkit" translate=no>â</a></h3> 86<font size=2 style=position:relative;top:-20px>Added before v1.9</font> 87<x-search>playwright.webkit</x-search> 88<p>This object can be used to launch or connect to WebKit, returning instances of <a title=Browser class="" href=/docs/api/class-browser>Browser</a>.</p> 89<p><strong>Usage</strong></p> 90<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#D4D4D4;--prism-background-color:#212121><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-js codeBlock_bY9V thin-scrollbar" style=color:#D4D4D4;background-color:#212121><code class=codeBlockLines_e6Vv><div class=token-line style=color:#D4D4D4><span class="token plain">playwright</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token property-access">webkit</span><br/></div></code></pre></div></div> 91<p><strong>Type</strong></p> 92<ul> 93<li class=""><a title=BrowserType class="" href=/docs/api/class-browsertype>BrowserType</a></li> 94</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/api/class-test><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Playwright Test</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/api/class-apirequest><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>APIRequest</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#properties class="table-of-contents__link toc-highlight">Properties</a><ul><li><a href=#playwright-chromium class="table-of-contents__link toc-highlight">chromium</a><li><a href=#playwright-devices class="table-of-contents__link toc-highlight">devices</a><li><a href=#playwright-errors class="table-of-contents__link toc-highlight">errors</a><li><a href=#playwright-firefox class="table-of-contents__link toc-highlight">firefox</a><li><a href=#playwright-request class="table-of-contents__link toc-highlight">request</a><li><a href=#playwright-selectors class="table-of-contents__link toc-highlight">selectors</a><li><a href=#playwright-webkit class="table-of-contents__link toc-highlight">webkit</a></ul></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Learn</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/intro>Getting started</a><li class=footer__item><a href=https://learn.microsoft.com/en-us/training/modules/build-with-playwright/ target=_blank rel="noopener noreferrer" class=footer__link-item>Playwright Training<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/community/learn-videos>Learn Videos</a><li class=footer__item><a class=footer__link-item href=/community/feature-videos>Feature Videos</a></ul></div>
94<div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://stackoverflow.com/questions/tagged/playwright target=_blank rel="noopener noreferrer" class=footer__link-item>Stack Overflow<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://aka.ms/playwright/discord target=_blank rel="noopener noreferrer" class=footer__link-item>Discord<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://x.com/playwrightweb target=_blank rel="noopener noreferrer" class=footer__link-item>X<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.linkedin.com/company/playwrightweb target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/microsoft/playwright target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.youtube.com/channel/UC46Zj8pDH5tDosqm1gd7WTg target=_blank rel="noopener noreferrer" class=footer__link-item>YouTube<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://dev.to/playwright target=_blank rel="noopener noreferrer" class=footer__link-item>Blog<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/community/ambassadors>Ambassadors</a><li class=footer__item><a href="https://go.microsoft.com/fwlink/?LinkId=521839" target=_blank rel="noopener noreferrer" class=footer__link-item>Microsoft Privacy Statement<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2026 Microsoft</div></div></div></footer></div></body>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.