[{"data":1,"prerenderedAt":342},["ShallowReactive",2],{"navigation_docs":3,"-guide-captures":88,"-guide-captures-surround":337},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Scrape","\u002Fguide\u002Fscrape","1.guide\u002F02.scrape",{"title":16,"path":17,"stem":18},"Screenshots and PDFs","\u002Fguide\u002Fcaptures","1.guide\u002F03.captures",{"title":20,"path":21,"stem":22},"Links and accessibility and extract","\u002Fguide\u002Freading","1.guide\u002F04.reading",{"title":24,"path":25,"stem":26},"Crawl and search","\u002Fguide\u002Fcrawl","1.guide\u002F05.crawl",{"title":28,"path":29,"stem":30},"Sessions","\u002Fguide\u002Fsessions","1.guide\u002F06.sessions",{"title":32,"path":33,"stem":34},"CLI","\u002Fguide\u002Fcli","1.guide\u002F07.cli",{"title":36,"path":37,"stem":38},"MCP and Pi and OMP","\u002Fguide\u002Fagents","1.guide\u002F08.agents",{"title":40,"path":41,"stem":42},"Errors","\u002Fguide\u002Ferrors","1.guide\u002F09.errors",{"title":44,"path":45,"stem":46},"Custom providers","\u002Fguide\u002Fcustom","1.guide\u002F10.custom","i-lucide-book-open",{"title":49,"path":50,"stem":51,"children":52,"icon":87},"Providers","\u002Fproviders","2.providers\u002F00.index",[53,55,59,63,67,71,75,79,83],{"title":54,"path":50,"stem":51},"Every provider",{"title":56,"path":57,"stem":58},"Steel","\u002Fproviders\u002Fsteel","2.providers\u002F01.steel",{"title":60,"path":61,"stem":62},"Browserbase","\u002Fproviders\u002Fbrowserbase","2.providers\u002F02.browserbase",{"title":64,"path":65,"stem":66},"Kernel","\u002Fproviders\u002Fkernel","2.providers\u002F03.kernel",{"title":68,"path":69,"stem":70},"Browserless","\u002Fproviders\u002Fbrowserless","2.providers\u002F04.browserless",{"title":72,"path":73,"stem":74},"Hyperbrowser","\u002Fproviders\u002Fhyperbrowser","2.providers\u002F05.hyperbrowser",{"title":76,"path":77,"stem":78},"Anchor","\u002Fproviders\u002Fanchor","2.providers\u002F06.anchor",{"title":80,"path":81,"stem":82},"Cloudflare","\u002Fproviders\u002Fcloudflare","2.providers\u002F07.cloudflare",{"title":84,"path":85,"stem":86},"Playwright","\u002Fproviders\u002Fplaywright","2.providers\u002F08.playwright","i-lucide-server",{"id":89,"title":16,"body":90,"description":329,"extension":330,"links":331,"meta":332,"navigation":334,"path":17,"seo":335,"stem":18,"__hash__":336},"docs\u002F1.guide\u002F03.captures.md",{"type":91,"value":92,"toc":322},"minimark",[93,98,136,144,176,195,199,224,234,241,245,258,271,275,298,304,318],[94,95,97],"h2",{"id":96},"screenshot","Screenshot",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-bash shiki shiki-themes browsers browsers browsers","browsers screenshot https:\u002F\u002Fexample.com -o page.png -p playwright\n","bash","",[106,107,108],"code",{"__ignoreMap":104},[109,110,113,117,121,124,127,130,133],"span",{"class":111,"line":112},"line",1,[109,114,116],{"class":115},"sK71F","browsers",[109,118,120],{"class":119},"shU9J"," screenshot",[109,122,123],{"class":119}," https:\u002F\u002Fexample.com",[109,125,126],{"class":119}," -o",[109,128,129],{"class":119}," page.png",[109,131,132],{"class":119}," -p",[109,134,135],{"class":119}," playwright\n",[99,137,142],{"className":138,"code":140,"language":141,"meta":104},[139],"language-text","ℹ Screenshot via playwright...\n✔ Screenshot saved to \u002Fhome\u002Fyou\u002Fpage.png\n","text",[106,143,140],{"__ignoreMap":104},[145,146,147,148,151,152,155,156,159,160,163,164,167,168,171,172,175],"p",{},"Full page by default. ",[106,149,150],{},"--no-fullPage"," keeps it to the viewport, ",[106,153,154],{},"--width"," and ",[106,157,158],{},"--height"," set that viewport, ",[106,161,162],{},"-f"," picks ",[106,165,166],{},"png",", ",[106,169,170],{},"jpeg"," or ",[106,173,174],{},"webp",".",[145,177,178,179,182,183,186,187,190,191,194],{},"In TypeScript it's ",[106,180,181],{},"provider.screenshot({ url, fullPage, format, selector, viewport })",", and the result carries the image as base64 in ",[106,184,185],{},"data"," plus its ",[106,188,189],{},"mimeType",". A provider with ",[106,192,193],{},"statelessScreenshot"," false wants a session for that, same deal as Kernel and scrape. The CLI and the tools open one for you.",[94,196,198],{"id":197},"one-element","One element",[99,200,202],{"className":101,"code":201,"language":103,"meta":104,"style":104},"browsers screenshot https:\u002F\u002Fhttpbin.org\u002Fforms\u002Fpost -o form.png --selector form\n",[106,203,204],{"__ignoreMap":104},[109,205,206,208,210,213,215,218,221],{"class":111,"line":112},[109,207,116],{"class":115},[109,209,120],{"class":119},[109,211,212],{"class":119}," https:\u002F\u002Fhttpbin.org\u002Fforms\u002Fpost",[109,214,126],{"class":119},[109,216,217],{"class":119}," form.png",[109,219,220],{"class":119}," --selector",[109,222,223],{"class":119}," form\n",[145,225,226,229,230,233],{},[106,227,228],{},"--selector"," captures the first element that matches, not the page. Cloudflare, Browserless and Playwright can do it, the flag is ",[106,231,232],{},"elementScreenshot",". Leave the provider out and the first configured one of those gets the job. Name another one and it refuses. It won't quietly hand you the whole page and pretend.",[145,235,236,237,240],{},"A selector that matches nothing is the vendor's error, passed through. Browserless says ",[106,238,239],{},"Element not found on page!",", which is at least honest.",[94,242,244],{"id":243},"for-a-model","For a model",[145,246,247,250,251,254,255,257],{},[106,248,249],{},"browsers_screenshot"," returns the image itself, so a model that reads images sees the page. A capture whose base64 runs past 5 MB can't go back inline, so pass ",[106,252,253],{},"path"," and it writes a file instead. ",[106,256,253],{}," never overwrites. An existing file is an error, not a surprise.",[145,259,260,155,263,266,267,270],{},[106,261,262],{},"selector",[106,264,265],{},"fullPage: true"," together are an ",[106,268,269],{},"InvalidInputError",". Pick one.",[94,272,274],{"id":273},"pdf","PDF",[99,276,278],{"className":101,"code":277,"language":103,"meta":104,"style":104},"browsers pdf https:\u002F\u002Fexample.com -o page.pdf -p playwright\n",[106,279,280],{"__ignoreMap":104},[109,281,282,284,287,289,291,294,296],{"class":111,"line":112},[109,283,116],{"class":115},[109,285,286],{"class":119}," pdf",[109,288,123],{"class":119},[109,290,126],{"class":119},[109,292,293],{"class":119}," page.pdf",[109,295,132],{"class":119},[109,297,135],{"class":119},[99,299,302],{"className":300,"code":301,"language":141,"meta":104},[139],"ℹ Generating PDF via playwright...\n✔ PDF saved to \u002Fhome\u002Fyou\u002Fpage.pdf\n",[106,303,301],{"__ignoreMap":104},[145,305,306,307,310,311,314,315,317],{},"Cloudflare, Browserless and Playwright print PDFs. ",[106,308,309],{},"--landscape"," turns the page. ",[106,312,313],{},"browsers_pdf"," always writes to ",[106,316,253],{},", because a PDF can't go back to a model anyway, and an existing file is still an error.",[319,320,321],"style",{},"html pre.shiki code .sK71F, html code.shiki .sK71F{--shiki-light:var(--shiki-token-function);--shiki-default:var(--shiki-token-function);--shiki-dark:var(--shiki-token-function)}html pre.shiki code .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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":104,"searchDepth":323,"depth":323,"links":324},2,[325,326,327,328],{"id":96,"depth":323,"text":97},{"id":197,"depth":323,"text":198},{"id":243,"depth":323,"text":244},{"id":273,"depth":323,"text":274},"A picture of the page or of one element. A PDF straight to a file. Which providers do it without a session","md",null,{"icon":333},"i-lucide-camera",true,{"title":16,"description":329},"u7gf5NE5by2-OPuoSCDzwkPRssqNjCYibkfcY3x4AKM",[338,340],{"title":12,"path":13,"stem":14,"description":339,"children":-1},"What scrape() hands back from each provider. HTML from some and markdown from others and an error from one",{"title":20,"path":21,"stem":22,"description":341,"children":-1},"Three other ways to read one page. The hrefs the scrape dropped and the fields of a form and structured data from a prompt",1790685118124]