puppeteer/api/puppeteer.locator/index.html

23 lines
108 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-22.6.0 docs-doc-page docs-doc-id-api/puppeteer.locator" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">Locator class | Puppeteer</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pptr.dev/api/puppeteer.locator"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:counter" content="2"><meta data-rh="true" property="og:title" content="Locator class | Puppeteer"><meta data-rh="true" name="description" content="Locators describe a strategy of locating objects and performing an action on them. If the action fails because the object is not ready for the action, the whole operation is retried. Various preconditions for a successful action are checked automatically."><meta data-rh="true" property="og:description" content="Locators describe a strategy of locating objects and performing an action on them. If the action fails because the object is not ready for the action, the whole operation is retried. Various preconditions for a successful action are checked automatically."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pptr.dev/api/puppeteer.locator"><link data-rh="true" rel="alternate" href="https://pptr.dev/api/puppeteer.locator" hreflang="en"><link data-rh="true" rel="alternate" href="https://pptr.dev/api/puppeteer.locator" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://DVKY664LG7-dsn.algolia.net" crossorigin="anonymous"><link rel="search" type="application/opensearchdescription+xml" title="Puppeteer" href="/opensearch.xml">
<script src="/fix-location.js"></script><link rel="stylesheet" href="/assets/css/styles.10908b84.css">
<script src="/assets/js/runtime~main.a3ab7b14.js" defer="defer"></script>
<script src="/assets/js/main.faafbb47.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><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="navbar navbar--fixed-top"><div class="navbar__inner"><div class="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"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt="Puppeteer Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt="Puppeteer Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Puppeteer</b></a><a class="navbar__item navbar__link" href="/">Docs</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/api/puppeteer.puppeteernode">Puppeteer API</a><a class="navbar__item navbar__link" href="/browsers-api/">@puppeteer/browsers API</a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/">22.6.0</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/api/puppeteer.locator">Next</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/api/puppeteer.locator">22.6.0</a></li><li><hr class="dropdown-separator"></li><li class="dropdown-archived-versions"><b>Archived versions</b></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.5.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.5.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.4.1/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.4.1<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.4.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.4.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.3.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.3.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4
<p>Locators describe a strategy of locating objects and performing an action on them. If the action fails because the object is not ready for the action, the whole operation is retried. Various preconditions for a successful action are checked automatically.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="signature">Signature:<a href="#signature" class="hash-link" aria-label="Direct link to Signature:" title="Direct link to Signature:"></a></h4>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">declare</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">abstract</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Locator</span><span class="token class-name operator" style="color:#393A34">&lt;</span><span class="token class-name constant" style="color:#36acaa">T</span><span class="token class-name operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">extends</span><span class="token plain"> </span><span class="token class-name">EventEmitter</span><span class="token class-name operator" style="color:#393A34">&lt;</span><span class="token class-name">LocatorEvents</span><span class="token class-name operator" style="color:#393A34">&gt;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><strong>Extends:</strong> <a href="/api/puppeteer.eventemitter">EventEmitter</a>&lt;<a href="/api/puppeteer.locatorevents">LocatorEvents</a>&gt;</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="properties">Properties<a href="#properties" class="hash-link" aria-label="Direct link to Properties" title="Direct link to Properties"></a></h2>
<table><thead><tr><th>Property</th><th>Modifiers</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>_</td><td><code>optional</code></td><td>T</td><td>Used for nominally typing <a href="/api/puppeteer.locator">Locator</a>.</td></tr><tr><td>timeout</td><td><code>readonly</code></td><td>number</td><td></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="methods">Methods<a href="#methods" class="hash-link" aria-label="Direct link to Methods" title="Direct link to Methods"></a></h2>
<table><thead><tr><th>Method</th><th>Modifiers</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.locator.click">click(this, options)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.clone">clone()</a></td><td></td><td>Clones the locator.</td></tr><tr><td><a href="/api/puppeteer.locator.fill">fill(this, value, options)</a></td><td></td><td>Fills out the input identified by the locator using the provided value. The type of the input is determined at runtime and the appropriate fill-out method is chosen based on the type. contenteditable, selector, inputs are supported.</td></tr><tr><td><a href="/api/puppeteer.locator.filter">filter(predicate)</a></td><td></td><td><p>Creates an expectation that is evaluated against located values.</p><p>If the expectations do not match, then the locator will retry.</p></td></tr><tr><td><a href="/api/puppeteer.locator.hover">hover(this, options)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.map">map(mapper)</a></td><td></td><td>Maps the locator using the provided mapper.</td></tr><tr><td><a href="/api/puppeteer.locator.race">race(locators)</a></td><td><code>static</code></td><td>Creates a race between multiple locators but ensures that only a single one acts.</td></tr><tr><td><a href="/api/puppeteer.locator.scroll">scroll(this, options)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.setensureelementisintheviewport">setEnsureElementIsInTheViewport(this, value)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.settimeout">setTimeout(timeout)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.setvisibility">setVisibility(this, visibility)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.setwaitforenabled">setWaitForEnabled(this, value)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.setwaitforstableboundingbox">setWaitForStableBoundingBox(this, value)</a></td><td></td><td></td></tr><tr><td><a href="/api/puppeteer.locator.wait">wait(options)</a></td><td></td><td><p>Waits for the locator to get the serialized value from the page.</p><p>Note this requires the value to be JSON-serializable.</p></td></tr><tr><td><a href="/api/puppeteer.locator.waithandle">waitHandle(options)</a></td><td></td><td>Waits for the locator to get a handle from the page.</td></tr></tbody></table></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/puppeteer.launchoptions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">LaunchOptions</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/puppeteer.locator.click"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Locator.click</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></li><li><a href="#methods" class="table-of-contents__link toc-highlight">Methods</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="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/puppeteer" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/chromedevtools" target="_blank" rel="noopener noreferrer" class="footer__link-item
</body>
</html>