<titledata-rh="true">Mouse class | Puppeteer</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:url"content="https://pptr.dev/next/api/puppeteer.mouse"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docsearch:counter"content="3"><metadata-rh="true"property="og:title"content="Mouse class | Puppeteer"><metadata-rh="true"name="description"content="The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport."><metadata-rh="true"property="og:description"content="The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport."><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://pptr.dev/next/api/puppeteer.mouse"><linkdata-rh="true"rel="alternate"href="https://pptr.dev/next/api/puppeteer.mouse"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://pptr.dev/next/api/puppeteer.mouse"hreflang="x-default"><linkdata-rh="true"rel="preconnect"href="https://DVKY664LG7-dsn.algolia.net"crossorigin="anonymous"><linkrel="search"type="application/opensearchdescription+xml"title="Puppeteer"href="/opensearch.xml">
<p>The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport.</p>
<h4class="anchor anchorWithStickyNavbar_LWe7"id="signature">Signature:<ahref="#signature"class="hash-link"aria-label="Direct link to Signature:"title="Direct link to Signature:"></a></h4>
<h2class="anchor anchorWithStickyNavbar_LWe7"id="remarks">Remarks<ahref="#remarks"class="hash-link"aria-label="Direct link to Remarks"title="Direct link to Remarks"></a></h2>
<p>Every <code>page</code> object has its own Mouse, accessible with [<code>page.mouse</code>](#pagemouse).</p>
<p>The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the <code>Mouse</code> class.</p>
<h2class="anchor anchorWithStickyNavbar_LWe7"id="example-1">Example 1<ahref="#example-1"class="hash-link"aria-label="Direct link to Example 1"title="Direct link to Example 1"></a></h2>
<p><strong>Note</strong>: The mouse events trigger synthetic <code>MouseEvent</code>s. This means that it does not fully replicate the functionality of what a normal user would be able to do with their mouse.</p>
<p>For example, dragging and selecting text is not possible using <code>page.mouse</code>. Instead, you can use the <ahref="https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/getSelection"target="_blank"rel="noopener noreferrer">`DocumentOrShadowRoot.getSelection()`</a> functionality implemented in the platform.</p>
<h2class="anchor anchorWithStickyNavbar_LWe7"id="example-2">Example 2<ahref="#example-2"class="hash-link"aria-label="Direct link to Example 2"title="Direct link to Example 2"></a></h2>
<p>For example, if you want to select all content between nodes:</p>
<h2class="anchor anchorWithStickyNavbar_LWe7"id="methods">Methods<ahref="#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><ahref="/next/api/puppeteer.mouse.click">click(x, y, options)</a></td><td></td><td>Shortcut for <code>mouse.move</code>, <code>mouse.down</code> and <code>mouse.up</code>.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.down">down(options)</a></td><td></td><td>Presses the mouse.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.drag">drag(start, target)</a></td><td></td><td>Dispatches a <code>drag</code> event.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.draganddrop">dragAndDrop(start, target, options)</a></td><td></td><td>Performs a drag, dragenter, dragover, and drop in sequence.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.dragenter">dragEnter(target, data)</a></td><td></td><td>Dispatches a <code>dragenter</code> event.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.dragover">dragOver(target, data)</a></td><td></td><td>Dispatches a <code>dragover</code> event.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.drop">drop(target, data)</a></td><td></td><td>Performs a dragenter, dragover, and drop in sequence.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.move">move(x, y, options)</a></td><td></td><td>Moves the mouse to the given coordinate.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.reset">reset()</a></td><td></td><td>Resets the mouse to the default state: No buttons pressed; position at (0,0).</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.up">up(options)</a></td><td></td><td>Releases the mouse.</td></tr><tr><td><ahref="/next/api/puppeteer.mouse.wheel">wheel(options)</a></td><td></td><td>Dispatches a <code>mousewheel</code> event.</td></tr></tbody></table></div></article><navclass="pagination-nav docusaurus-mt-lg"aria-label="Docs pages"><aclass="pagination-nav__link pagination-nav__link--prev"href="/next/api/puppeteer.keyboard.up"><divclass="pagination-nav__sublabel">Previous</div><divclass="pagination-nav__label">Keyboard.up</div></a><aclass="pagination-nav__link pagination-nav__link--next"href="/next/api/puppeteer.mouse.click"><divclass="pagination-nav__sublabel">Next</div><divclass="pagination-nav__label">Mouse.click</div></a></nav></div></div><divclass="col col--3"><divclass="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ulclass="table-of-contents table-of-contents__left-border"><li><ahref="#remarks"class="table-of-contents__link toc-highlight">Remarks</a></li><li><ahref="#example-1"class="table-of-contents__link toc-highlight">Example 1</a></li><li><ahref="#example-2"class="table-of-contents__link toc-highlight">Example 2</a></li><li><ahref="#methods"class="table-of-contents__link toc-highlight">Methods</a></li></ul></div></div></div></div></main></div></div></div><footerclass="footer footer--dark"><divclass="container container-fluid"><divclass="row footer__links"><divclass="col footer__col"><divclass="footer__title">Community</div><ulclass="footer__items clean-list"><liclass="footer__item"><ahref="https://stackoverflow.com/questions/tagged/puppeteer"target="_blank"rel="noopener noreferrer"class="footer__link-item">Stack Overflow<svgwidth="13.5"height="13.5"aria-hidden="true"viewBox="0 0 24 24"class="iconExternalLink_nPIU"><pathfill="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><liclass="footer__item"><ahref="https://twitter.com/chromedevtools"target="_blank"rel="noopener noreferrer"class="footer__link-item">Twitter<svgwidth="13.5"height="13.5"aria-hidden="true"viewBox="0 0 24 24"class="iconExternalLink_nPIU"><pathfill="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><liclass="footer__item"><ahref="https://goo.gle/devtools-youtube"target="_blank"rel="noopener noreferrer"class="footer__link-item">YouTube<svgwidth="13.5"height="13.5"aria-hidden="true"viewBox="0 0 24 24"class="iconExternalLin