[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"landing":3,"editor-ot8ldr":325,"nav-compare":327,"CoreTeamBody_mv3RY1lLnhPCgdoRdOfIsWGe99ZEwd1yCghua0Qz3M":337,"ContributorWallBody_He3prRuWUy3XWu35Dx5uinQbgE5kNYv54sJu7uAWbvg":345,"SiteFooter_cLEacilcm59lTjFJjLY6mXNWLL0ETtzOIiZwIHgDpy0":353},{"id":4,"title":5,"body":6,"description":318,"extension":319,"meta":320,"navigation":211,"path":321,"seo":322,"stem":323,"__hash__":324},"pages\u002Findex.md","Robot Framework Browser",{"type":7,"value":8,"toc":312},"minimark",[9,89,147,265,308],[10,11,13,21,33,46],"page-hero",{"logo":12},"\u002Flogo\u002Fbrowser.svg",[14,15,17],"template",{"v-slot:title":16},"",[18,19],"rotating-title",{":titles":20},"[\"Browser automation\\nthat doesn't flake.\",\"Browser automation\\nthat doesn't suck.\",\"Browser automation\\nfaster than sound.\",\"Browser automation\\nready for the future.\",\"Browser automation that sees shadow DOM.\",\"Browser automation\\nthat waits for you.\",\"Browser automation\\nyour team can read.\",\"Browser automation\\nwith zero sleeps.\",\"Browser automation\\nbuilt to outlast CSS.\",\"Browser automation\\nthat says what broke.\"]",[22,23,24,25,32],"p",{},"Robot Framework deserves a browser automation solution designed for the 2020s.\nBrowser library, powered by ",[26,27,31],"a",{"href":28,"rel":29},"https:\u002F\u002Fplaywright.dev\u002F",[30],"nofollow","Playwright",", provides\nspeed, reliability and visibility.",[34,35,36,42],"btn-row",{},[37,38,41],"btn",{"to":39,":primary":40},"#start","true","Get started",[37,43,45],{"to":44},"\u002Fwhy","Why Browser",[47,48,49,55,59,64,69,75,80,85],"stat-row",{},[50,51,54],"stat",{"value":52,"to":53},"%%browser%%","https:\u002F\u002Fgithub.com\u002FMarketSquare\u002Frobotframework-browser\u002Freleases","Browser",[50,56,31],{"value":57,"to":58},"%%playwrightBundled%%","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Frelease-notes",[50,60,63],{"value":61,"to":62},"%%node%%","https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload","Node",[50,65,68],{"value":66,"to":67},"%%keywords%%","\u002Fkeywords","Keywords",[50,70,74],{"value":71,"to":72,"icon":73},"%%stars%%","https:\u002F\u002Fgithub.com\u002FMarketSquare\u002Frobotframework-browser","⭐","Stars",[50,76,79],{"value":77,"to":78},"%%contributors%%","\u002Fcommunity#hall","Contributors",[50,81,84],{"value":82,"to":83},"%%releases%%","https:\u002F\u002Fpypi.org\u002Fproject\u002Frobotframework-browser\u002F#history","Releases",[50,86,88],{"value":87},"0","Sleeps",[90,91,94,117,142],"page-section",{"label":92,"title":93},"What you get","Speed, reliability and visibility.",[95,96,97,105,111],"card-grid",{},[98,99,102],"card",{"accent":100,"title":101},"green","Speed",[22,103,104],{},"One Node process drives Chromium, Firefox and WebKit. No driver binary per\nbrowser, no version to keep in step with an update.",[98,106,108],{"accent":100,"title":107},"Reliability",[22,109,110],{},"Every action waits for the element to be actionable before it acts. No sleeps\nto tune, and no flake to chase down.",[98,112,114],{"accent":100,"title":113},"Visibility",[22,115,116],{},"Video, a Playwright trace and a screenshot on failure, attached to the Robot\nFramework log.",[118,119,120],"feature-grid",{},[121,122,123,127,130,133,136,139],"ul",{},[124,125,126],"li",{},"Conscientious assertions",[124,128,129],{},"Precise and fast browser window and tab control",[124,131,132],{},"Chainable selector strategies",[124,134,135],{},"Good shadow DOM support",[124,137,138],{},"Simple descriptors for mobile devices",[124,140,141],{},"Sending HTTP requests",[22,143,144],{},[26,145,146],{"href":44},"How it works, and how it compares",[90,148,153,156,161,168,172,176,183,243,247,250,253],{"label":149,"title":150,"id":151,"tone":152},"Quick start","Running in five minutes.","start","panel",[22,154,155],{},"Three blocks. Copy them in order and you have a passing test — nothing to\nconfigure in between.",[157,158,160],"h3",{"id":159},"install-the-library-and-the-browsers","Install the library and the browsers",[22,162,163,167],{},[164,165,166],"code",{},"rfbrowser init"," downloads the browser binaries Playwright drives. The tabs\nbelow pick your shell automatically.",[169,170],"terminal-block",{":sessions":171},"[{\"shell\":\"bash\",\"steps\":[{\"command\":\"pip install robotframework-browser\",\"output\":[\"Successfully installed robotframework-browser-%%browser%%\"]},{\"command\":\"rfbrowser init\",\"output\":[\"Installing Playwright browser binaries…\"],\"status\":[{\"ok\":true,\"text\":\"chromium   downloaded\"},{\"ok\":true,\"text\":\"firefox    downloaded\"},{\"ok\":true,\"text\":\"webkit     downloaded\"}]}]},{\"shell\":\"powershell\",\"steps\":[{\"command\":\"py -m pip install robotframework-browser\",\"output\":[\"Successfully installed robotframework-browser-%%browser%%\"]},{\"command\":\"py -m Browser.entry init\",\"output\":[\"Installing Playwright browser binaries…\"],\"status\":[{\"ok\":true,\"text\":\"chromium   downloaded\"},{\"ok\":true,\"text\":\"firefox    downloaded\"},{\"ok\":true,\"text\":\"webkit     downloaded\"}]}]}]",[157,173,175],{"id":174},"write-a-test","Write a test",[22,177,178,179,182],{},"One import, no setup keyword, no explicit waits. ",[164,180,181],{},"Get Text"," both reads the\nvalue and asserts it — and it keeps re-reading until the search results arrive,\nwhich is why nothing here waits for them.",[184,185,190],"pre",{"className":186,"code":187,"filename":188,"language":189,"meta":16,"style":16},"language-robot shiki shiki-themes github-light github-dark","*** Settings ***\nLibrary     Browser\n\n*** Test Cases ***\nSearch The Syllabus\n    New Page      https:\u002F\u002Fsyllabus.robotframework.org\n    Fill Text     id=search_input_react    Argument Types\n    Get Text      body    *=    2.5.2.8\n","first.robot","robot",[164,191,192,200,206,213,219,225,231,237],{"__ignoreMap":16},[193,194,197],"span",{"class":195,"line":196},"line",1,[193,198,199],{},"*** Settings ***\n",[193,201,203],{"class":195,"line":202},2,[193,204,205],{},"Library     Browser\n",[193,207,209],{"class":195,"line":208},3,[193,210,212],{"emptyLinePlaceholder":211},true,"\n",[193,214,216],{"class":195,"line":215},4,[193,217,218],{},"*** Test Cases ***\n",[193,220,222],{"class":195,"line":221},5,[193,223,224],{},"Search The Syllabus\n",[193,226,228],{"class":195,"line":227},6,[193,229,230],{},"    New Page      https:\u002F\u002Fsyllabus.robotframework.org\n",[193,232,234],{"class":195,"line":233},7,[193,235,236],{},"    Fill Text     id=search_input_react    Argument Types\n",[193,238,240],{"class":195,"line":239},8,[193,241,242],{},"    Get Text      body    *=    2.5.2.8\n",[157,244,246],{"id":245},"run-it","Run it",[22,248,249],{},"Robot Framework as usual — the browser opens, acts and closes.",[169,251],{":sessions":252},"[{\"shell\":\"bash\",\"steps\":[{\"command\":\"robot first.robot\",\"output\":[\"=========================================================\",\"First\"],\"status\":[{\"ok\":true,\"text\":\"Search Robot Framework\"}]},{\"output\":[\"1 test, 1 passed, 0 failed\"]}]}]",[22,254,255,256,260,261,264],{},"Next: the ",[26,257,259],{"href":258},"\u002Fdocs\u002Fstart\u002Fgetting-started","getting-started guide",", or the\n",[26,262,263],{"href":67},"keyword reference",".",[90,266,269,272,285,288,292,298,302],{"label":267,"title":268,":last":40},"Community","Use. Benefit. Contribute.",[22,270,271],{},"Browser library is built in the open by the Robot Framework community — 206\npeople so far. Questions, ideas and bug reports are how most of them started,\nand how the library got this far.",[34,273,274,278,282],{},[37,275,277],{"to":276,":primary":40},"\u002Fcommunity","Community and contributing",[37,279,281],{"to":280},"https:\u002F\u002Fforum.robotframework.org\u002Fc\u002Flibraries\u002Fbrowser","Forum",[37,283,284],{"to":72},"GitHub",[286,287],"core-team",{},[157,289,291],{"id":290},"and-206-people-who-made-it-better","And 206 people who made it better",[22,293,294,295,264],{},"Bug reports, ideas, documentation, running main against a real suite before it\nwas ever released. Most of them never wrote a line of code for Browser.\n",[26,296,297],{"href":78},"See who did what",[299,300],"contributor-wall",{":compact":40,":limit":301},"60",[22,303,304],{},[305,306,307],"strong",{},"Let's make the best Browser library.",[309,310,311],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":16,"searchDepth":202,"depth":202,"links":313},[314,315,316,317],{"id":159,"depth":208,"text":160},{"id":174,"depth":208,"text":175},{"id":245,"depth":208,"text":246},{"id":290,"depth":208,"text":291},"A browser automation library for Robot Framework, powered by Playwright. Speed, reliability and visibility, with assertions built into the keywords.","md",{},"\u002F",{"title":5,"description":318},"index","rzaDRvnNPpOi0kkLPw--KEf5CwXtpQRuUvWEbrP38xc",[326],"\u003Cspan class=\"line\">\u003Cspan style=\"color:#FF6B5E;font-weight:bold\">*** Settings ***\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#C9A6E9\">Library\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">     Browser\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#FF6B5E;font-weight:bold\">*** Test Cases ***\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#2BD9CC\">Search The Syllabus\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#2BD9CC\">    New Page\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">      https:\u002F\u002Fsyllabus.robotframework.org\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#2BD9CC\">    Fill Text\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">     id=search_input_react\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">    Argument Types\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\">\u003Cspan style=\"color:#2BD9CC\">    Get Text\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">      body\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">    *=\u003C\u002Fspan>\u003Cspan style=\"color:#E0D3A3\">    2.5.2.8\u003C\u002Fspan>\u003C\u002Fspan>",[328,331,334],{"to":329,"label":330},"\u002Fwhy\u002Fvs-cypress","vs Cypress",{"to":332,"label":333},"\u002Fwhy\u002Fvs-playwright","vs Playwright Test",{"to":335,"label":336},"\u002Fwhy\u002Fvs-seleniumlibrary","vs SeleniumLibrary",["Island",338],{"key":339,"result":340},"CoreTeamBody_mv3RY1lLnhPCgdoRdOfIsWGe99ZEwd1yCghua0Qz3M",{"head":341},{"style":342},[343],{"innerHTML":344},".team[data-v-486d1257]{gap:var(--sp-8)}.group[data-v-486d1257],.team[data-v-486d1257]{flex-direction:column;display:flex}.group[data-v-486d1257]{gap:var(--sp-2)}.group-name[data-v-486d1257]{font-family:var(--font-display);font-size:var(--step-1);font-weight:400}.group-note[data-v-486d1257]{color:var(--dim);max-width:44rem}.row[data-v-486d1257]{margin:var(--sp-2) 0 0;flex-wrap:wrap;padding:0;list-style:none}.member[data-v-486d1257],.row[data-v-486d1257]{gap:var(--sp-3);display:flex}.member[data-v-486d1257]{padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--line);border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(var(--red),var(--red)) 0 0 \u002F2px 100% no-repeat,var(--panel);color:var(--ink);align-items:center}.member.is-alum[data-v-486d1257]{background:linear-gradient(var(--teal),var(--teal)) 0 0 \u002F2px 100% no-repeat,var(--panel)}.member[data-v-486d1257]:hover{border-color:var(--line-strong)}.face[data-v-486d1257]{background:var(--chrome);border-radius:50%;flex:none}.who[data-v-486d1257]{flex-direction:column;gap:1px;min-width:0;display:flex}.name[data-v-486d1257]{font-family:var(--font-display);font-size:.95rem}.login[data-v-486d1257]{font-family:var(--font-mono);color:var(--faint);font-size:.75rem}@supports (corner-shape:bevel){.member[data-v-486d1257]{corner-shape:bevel}}",["Island",346],{"key":347,"result":348},"ContributorWallBody_He3prRuWUy3XWu35Dx5uinQbgE5kNYv54sJu7uAWbvg",{"head":349},{"style":350},[351],{"innerHTML":352},".wall-block[data-v-cc9b811b]{gap:var(--sp-4);flex-direction:column;display:flex}.pick[data-v-cc9b811b],.sr-only[data-v-cc9b811b]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filters[data-v-cc9b811b]{gap:var(--sp-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.filters label[data-v-cc9b811b]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);cursor:pointer;background:var(--panel);font-size:.72rem;display:inline-flex}.filters label[data-v-cc9b811b]:hover{color:var(--ink);border-color:var(--line-strong)}.count[data-v-cc9b811b]{font-family:var(--font-mono);color:var(--dim);letter-spacing:0;font-size:.7rem}#way-all:checked~.filters label[for=way-all][data-v-cc9b811b],#way-code:checked~.filters label[for=way-code][data-v-cc9b811b],#way-docs:checked~.filters label[for=way-docs][data-v-cc9b811b],#way-report:checked~.filters label[for=way-report][data-v-cc9b811b],#way-support:checked~.filters label[for=way-support][data-v-cc9b811b],#way-testing:checked~.filters label[for=way-testing][data-v-cc9b811b]{color:var(--ink);border-color:var(--red);background:var(--chrome)}#way-all:focus-visible~.filters label[for=way-all][data-v-cc9b811b],#way-code:focus-visible~.filters label[for=way-code][data-v-cc9b811b],#way-docs:focus-visible~.filters label[for=way-docs][data-v-cc9b811b],#way-report:focus-visible~.filters label[for=way-report][data-v-cc9b811b],#way-support:focus-visible~.filters label[for=way-support][data-v-cc9b811b],#way-testing:focus-visible~.filters label[for=way-testing][data-v-cc9b811b]{outline:2px solid var(--red);outline-offset:2px}.wall[data-v-cc9b811b]{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin:0;padding:0;list-style:none;display:grid}#way-code:checked~.wall li[data-v-cc9b811b]:not(.w-code),#way-docs:checked~.wall li[data-v-cc9b811b]:not(.w-docs),#way-report:checked~.wall li[data-v-cc9b811b]:not(.w-report),#way-support:checked~.wall li[data-v-cc9b811b]:not(.w-support),#way-testing:checked~.wall li[data-v-cc9b811b]:not(.w-testing){display:none}.wall.is-compact[data-v-cc9b811b]{gap:var(--sp-1);grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr))}.wall.is-compact .person[data-v-cc9b811b]{padding:0}.rest a[data-v-cc9b811b]{border-bottom:1px dashed var(--line-strong);border:1px dashed var(--line-strong);width:40px;height:40px;font-family:var(--font-display);color:var(--dim);border-radius:50%;justify-content:center;align-items:center;font-size:.62rem;display:flex}.rest a[data-v-cc9b811b]:hover{border-color:var(--red);color:var(--ink)}.wall.is-compact .face[data-v-cc9b811b]{transition:transform .1s}.wall.is-compact .person[data-v-cc9b811b]:hover{background:0 0}.wall.is-compact .person:hover .face[data-v-cc9b811b]{transform:scale(1.12)}@media (prefers-reduced-motion:reduce){.wall.is-compact .face[data-v-cc9b811b]{transition:none}.wall.is-compact .person:hover .face[data-v-cc9b811b]{transform:none}}.person[data-v-cc9b811b]{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius-sm);color:var(--ink);border-bottom:0;min-width:0;display:flex}.person[data-v-cc9b811b]:hover{background:var(--panel)}.face[data-v-cc9b811b]{background:var(--chrome);border-radius:50%;flex:none}.name[data-v-cc9b811b]{overflow-wrap:anywhere;font-size:.82rem;line-height:1.3}@media (width\u003C=600px){.wall[data-v-cc9b811b]{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}}",["Island",354],{"key":355,"result":356},"SiteFooter_cLEacilcm59lTjFJjLY6mXNWLL0ETtzOIiZwIHgDpy0",{"head":357},{"style":358},[359,361,363,365],{"innerHTML":360},".site-footer[data-v-8bb1d4ae]{border-top:1px solid var(--line);background:var(--chrome);padding:var(--sp-8) var(--gutter) var(--sp-10);gap:var(--sp-6);flex-direction:column;display:flex}.links[data-v-8bb1d4ae]{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));max-width:62rem;display:grid}.links a[data-v-8bb1d4ae]{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);border:1px solid var(--line);display:flex}.links a[data-v-8bb1d4ae]:focus-visible,.links a[data-v-8bb1d4ae]:hover{border-color:var(--line-strong)}.links[data-v-8bb1d4ae] .mark,.links[data-v-8bb1d4ae] .rf-mark{width:1.35rem;height:1.35rem;color:var(--dim);flex:none;margin-top:.1rem}.links a[data-v-8bb1d4ae]:hover .mark,.links a[data-v-8bb1d4ae]:hover .rf-mark{color:var(--red)}.links span[data-v-8bb1d4ae]{flex-direction:column;gap:2px;min-width:0;display:flex}.links b[data-v-8bb1d4ae]{font-family:var(--font-display);font-size:.85rem;font-weight:400}.links small[data-v-8bb1d4ae]{color:var(--faint);font-size:.78rem}.colophon[data-v-8bb1d4ae]{color:var(--faint);margin:0;font-size:.75rem}@supports (corner-shape:bevel){.links a[data-v-8bb1d4ae]{corner-shape:bevel}}",{"innerHTML":362},".mark[data-v-cc0d96a5]{vertical-align:-.125em;flex:none;width:1em;height:1em}",{"innerHTML":364},".mark[data-v-26f5673d]{vertical-align:-.125em;flex:none;width:1em;height:1em}",{"innerHTML":366},".rf-mark[data-v-26317b3e]{fill:currentColor;stroke:none;flex:none}",1786734135347]