# class:elementhandle
### class: ElementHandle v0.9.0
> **注意** [ElementHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-elementhandle "ElementHandle") 類繼承自 [JSHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-jshandle "JSHandle")。
ElementHandle 表示一個頁內的 DOM 元素。ElementHandles 可以通過 [page.$](#?product=Puppeteer&version=v1.11.0&show=api-pageselector) 方法創建。
```
const puppeteer = require('puppeteer');puppeteer.launch().then(async browser => { const page = await browser.newPage(); await page.goto('https://google.com'); const inputElement = await page.$('input[type=submit]'); await inputElement.click(); // ...});
```
除非處理了句柄 [disposed](#?product=Puppeteer&version=v1.11.0&show=api-elementhandledispose),否則 ElementHandle 會阻止垃圾收集中的 DOM 元素。 ElementHandles 在其原始幀被導航時將會自動處理。
ElementHandle 實例可以在 [`page.$eval()`](#?product=Puppeteer&version=v1.11.0&show=api-pageevalselector-pagefunction-args) 和 [`page.evaluate()`](#?product=Puppeteer&version=v1.11.0&show=api-pageevaluatepagefunction-args) 方法中作為參數。
#### Methods
- [elementHandle.$(selector)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleselector)v0.9.0
- [elementHandle.$$(selector)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleselector-1)v0.9.0
- [elementHandle.$eval(selector, pageFunction, ...args)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleevalselector-pagefunction-args)v0.9.0
- [elementHandle.$$eval(selector, pageFunction, ...args)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleevalselector-pagefunction-args-1)v0.9.0
- [elementHandle.$x(expression)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlexexpression)v0.9.0
- [elementHandle.asElement()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleaselement)v0.9.0
- [elementHandle.boundingBox()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleboundingbox)v0.9.0
- [elementHandle.boxModel()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleboxmodel)v0.9.0
- [elementHandle.click(\[options\])](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleclickoptions)v0.9.0
- [elementHandle.contentFrame()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlecontentframe)v0.9.0
- [elementHandle.dispose()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandledispose)v0.9.0
- [elementHandle.executionContext()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleexecutioncontext)v0.9.0
- [elementHandle.focus()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlefocus)v0.9.0
- [elementHandle.getProperties()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlegetproperties)v0.9.0
- [elementHandle.getProperty(propertyName)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlegetpropertypropertyname)v0.9.0
- [elementHandle.hover()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlehover)v0.9.0
- [elementHandle.isIntersectingViewport()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleisintersectingviewport)v0.9.0
- [elementHandle.jsonValue()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlejsonvalue)v0.9.0
- [elementHandle.press(key\[, options\])](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlepresskey-options)v0.9.0
- [elementHandle.screenshot(\[options\])](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlescreenshotoptions)v0.9.0
- [elementHandle.tap()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandletap)v0.9.0
- [elementHandle.toString()](#?product=Puppeteer&version=v1.11.0&show=api-elementhandletostring)v0.9.0
- [elementHandle.type(text\[, options\])](#?product=Puppeteer&version=v1.11.0&show=api-elementhandletypetext-options)v0.9.0
- [elementHandle.uploadFile(...filePaths)](#?product=Puppeteer&version=v1.11.0&show=api-elementhandleuploadfilefilepaths)v0.9.0
### Methods
#### elementHandle.$(selector)v0.9.0
- `selector` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 用于選取頁面 DOM 元素的 [CSS Selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<?[ElementHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-elementhandle "ElementHandle")>>
該方法在頁面內運行 `element.querySelector`。 如果沒有元素匹配選擇器,則返回值為 `null`。
#### elementHandle.$$(selector)v0.9.0
- `selector` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 用于選取頁面 DOM 元素的 [CSS Selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[ElementHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-elementhandle "ElementHandle")>>>
該方法在頁面內運行 `element.querySelectorAll`。 如果沒有元素匹配選擇器,則返回值為 `[]`。
#### elementHandle.$eval(selector, pageFunction, ...args)v0.9.0
- `selector` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 用于選取頁面 DOM 元素的 [CSS Selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)
- `pageFunction` <[function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function "Function")> 在瀏覽器上下文中執行的函數
- `...args` <...[Serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description "Serializable")|[JSHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-jshandle "JSHandle")> 傳遞給 `pageFunction` 的參數
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description "Serializable")>> Promise which resolves to the return value of `pageFunction`
這個方法在元素中運行 `document.querySelector` 并將它作為第一個參數傳遞給 `pageFunction`。 如果沒有與 `selector` 匹配的元素,則該方法將拋出個錯誤。
如果 `pageFunction` 返回一個 [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise"),那么 `frame.$eval` 將等待承諾解析并返回它的值。
例子:
```
const tweetHandle = await page.$('.tweet');expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe('100');expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe('10');
```
#### elementHandle.$$eval(selector, pageFunction, ...args)v0.9.0
- `selector` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 用于選取頁面 DOM 元素的 [CSS Selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)
- `pageFunction` <[function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function "Function")> Function to be evaluated in browser context
- `...args` <...[Serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description "Serializable")|[JSHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-jshandle "JSHandle")> Arguments to pass to `pageFunction`
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description "Serializable")>> Promise which resolves to the return value of `pageFunction`
該方法在元素內運行 `document.querySelectorAll`,并將其作為第一個參數傳遞給 `pageFunction`。 如果沒有與 `selector` 匹配的元素,則該方法將拋出一個錯誤。
如果 `pageFunction` 返回 [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise"),那么`frame.$$eval` 將等待 promise 解析并返回其值。
例子:
```
<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
const feedHandle = await page.$('.feed');expect(await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)).toEqual(['Hello!', 'Hi!']);
```
#### elementHandle.$x(expression)v0.9.0
- `expression` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> Expression to [evaluate](https://developer.mozilla.org/en-US/docs/Web/API/Document/evaluate).
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[ElementHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-elementhandle "ElementHandle")>>>
該方法計算相對于 elementHandle 的 XPath 表達式。 如果不存在這樣的元素,該方法將解析為一個空的數組。
#### elementHandle.asElement()v0.9.0
- returns: <[ElementHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-elementhandle "ElementHandle")>
#### elementHandle.boundingBox()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<?[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>>
- x <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的 x 坐標(以像素為單位)。
- y <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的 y 坐標(以像素為單位)。
- width <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的像素寬度。
- height <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的像素高度。
此方法返回元素的邊界框(相對于主框架),如果元素不可見,則返回 `null`。
#### elementHandle.boxModel()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<?[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>>
- content <[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>> Content box, represented as an array of {x, y} points.
- padding <[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>> Padding box, represented as an array of {x, y} points.
- border <[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>> Border box, represented as an array of {x, y} points.
- margin <[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array")<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>> Margin box, represented as an array of {x, y} points.
- width <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的寬度.
- height <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 元素的高度.
改方法返回元素的盒模型,如果元素不可見,則返回 `null`。 盒模型被表示為一組點;每個 Point 都是一個對象 `{x,y}`。 盒模型的點按順時針排序。
#### elementHandle.click(\[options\])v0.9.0
- `options` <[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>
- `button` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> `left`, `right`, 或 `middle`, 默認是 `left`。
- `clickCount` <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 默認是 1. 見 [UIEvent.detail](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail "UIEvent.detail").
- `delay` <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> `mousedown` 和 `mouseup` 之間等待的時間。 默認是 0。
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")> Promise which resolves when the element is successfully clicked. Promise gets rejected if the element is detached from DOM.
如果需要,此方法將元素滾動到視野中,然后使用 [page.mouse](#?product=Puppeteer&version=v1.11.0&show=api-pagemouse) 單擊元素的中心。 如果該元素從 DOM 中分離,則該方法將引發錯誤。
#### elementHandle.contentFrame()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<?[Frame](#?product=Puppeteer&version=v1.11.0&show=api-class-frame "Frame")>> 解析為引用 iframe 節點的元素句柄的內容框架,否則為空
#### elementHandle.dispose()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")> Promise which resolves when the element handle is successfully disposed.
`elementHandle.dispose` 方法用于停止引用元素的句柄。
#### elementHandle.executionContext()v0.9.0
- returns: [ExecutionContext](#?product=Puppeteer&version=v1.11.0&show=api-class-executioncontext "ExecutionContext")
#### elementHandle.focus()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")>
在元素上調用 [focus](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus)。
#### elementHandle.getProperties()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map "Map")<[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String"), [JSHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-jshandle "JSHandle")>>>
該方法返回一個包含屬性名稱作為鍵的映射和屬性值的 JSHandle 實例。
```
const listHandle = await page.evaluateHandle(() => document.body.children);const properties = await listHandle.getProperties();const children = [];for (const property of properties.values()) { const element = property.asElement(); if (element) children.push(element);}children; // body持有 elementHandles 給 document.body 的所有子項。
```
#### elementHandle.getProperty(propertyName)v0.9.0
- `propertyName` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> property to get
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[JSHandle](#?product=Puppeteer&version=v1.11.0&show=api-class-jshandle "JSHandle")>>
從 objectHandle 中獲取一個屬性。
#### elementHandle.hover()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")> Promise which resolves when the element is successfully hovered.
如果需要,此方法將元素滾動到視野中,然后使用 [page.mouse](#?product=Puppeteer&version=v1.11.0&show=api-pagemouse) 將鼠標懸停在元素的中心。 如果元素從 DOM 中分離(不存在),則該方法將拋出一個錯誤。
#### elementHandle.isIntersectingViewport()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type "Boolean")>> Resolves to true if the element is visible in the current viewport.
#### elementHandle.jsonValue()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>>
返回對象的JSON表示。 JSON是通過對頁面上的對象運行 [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) 生成的,因此 [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) 在puppeteer中。
> **注意** 如果引用的對象不可字符串化,該方法將拋出(一個錯誤)。
#### elementHandle.press(key\[, options\])v0.9.0
- `key` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 按鍵的名稱,例如 `ArrowLeft`。 見 [USKeyboardLayout](https://github.com/GoogleChrome/puppeteer/blob/master/docs/../lib/USKeyboardLayout.js "USKeyboardLayout") 以獲取所有鍵名稱的列表。
- `options` <[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>
- `text` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 如果指定,則使用此文本生成輸入事件。
- `delay` <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> `keydown` 和 `keyup` 之間等待的時間。默認是 0。
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")>
聚焦元素,然后使用 [`keyboard.down`](#?product=Puppeteer&version=v1.11.0&show=api-keyboarddownkey-options) 和 [`keyboard.up`](#?product=Puppeteer&version=v1.11.0&show=api-keyboardupkey)。
如果 `key` 是一個單獨的字符,并且除了 `Shift` 之外沒有(其他)修飾鍵被按下,`keypress` / `input` 事件也會被生成。 可以指定 `text` 選項來強制生成輸入事件。
> **注意** 修飾鍵 DO 會影響 `elementHandle.press`。 按住 Shift 鍵將以大寫形式輸入文本。
#### elementHandle.screenshot(\[options\])v0.9.0
- `options` <[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")> 與 [page.screenshot](#?product=Puppeteer&version=v1.11.0&show=api-pagescreenshotoptions) 選項相同。
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")<[Buffer](https://nodejs.org/api/buffer.html#buffer_class_buffer "Buffer")>> Promise which resolves to buffer with captured screenshot.
如果需要,此方法將元素滾動到視圖中,然后使用 [page.screenshot](#?product=Puppeteer&version=v1.11.0&show=api-pagescreenshotoptions) 截取元素的屏幕截圖。 如果該元素從 DOM 中分離,則該方法將拋出一個錯誤。
#### elementHandle.tap()v0.9.0
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")> Promise which resolves when the element is successfully tapped. Promise gets rejected if the element is detached from DOM.
如果需要,此方法將元素滾動到視野中,然后使用 [touchscreen.tap](#?product=Puppeteer&version=v1.11.0&show=api-touchscreentapx-y) 在元素的中心點擊。 如果該元素從 DOM 中分離,則該方法將拋出一個錯誤。
#### elementHandle.toString()v0.9.0
- returns: <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")>
#### elementHandle.type(text\[, options\])v0.9.0
- `text` <[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 要輸入到焦點元素中的文本。
- `options` <[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object")>
- `delay` <[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number")> 按鍵之間的等待時間,默認是 0。
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")>
聚焦元素,然后為文本中的每個字符發送 `keydown`,`keypress` / `input` 和 `keyup` 事件。
按一個特殊的鍵,像 `Control` 或 `ArrowDown`,使用 [`elementHandle.press`](#?product=Puppeteer&version=v1.11.0&show=api-elementhandlepresskey-options)。
```
elementHandle.type('Hello'); // 立即輸入elementHandle.type('World', {delay: 100}); // 慢點輸入,像一個用戶
```
鍵入文本字段然后提交表單的例子:
```
const elementHandle = await page.$('input');await elementHandle.type('some text');await elementHandle.press('Enter');
```
#### elementHandle.uploadFile(...filePaths)v0.9.0
- `...filePaths` <...[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "String")> 設置輸入這些路徑的文件的值。如果某些 `filePaths` 是相對路徑,那么它們將被解析為相對于 [當前工作目錄](https://nodejs.org/api/process.html#process_process_cwd)。
- returns: <[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise")>
這個方法期望 `elementHandle` 指向一個 [輸入元素](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input)。

puppeteer.js中文網|class:elementhandle
puppeteer.js中文文檔, puppeteer chrome, puppeteer firefox, puppeteer api 中文文檔
puppeteer.js中文網包含了Puppeteer中文文檔,最新資訊,應用案例等。Puppeteer 是一個 Node 庫,它提供了一個高級 API 來通過 DevTools 協議控制 Chromium 或 Chrome。
- Introduction
- 版本記錄
- 概要
- puppeteer-vs-puppeteer-core
- 環境變量
- error-handling
- working-with-chrome-extensions
- class:puppeteer
- class:browserfetcher
- class:browser
- class:page
- class:worker
- class:accessibility
- class:keyboard
- class:mouse
- class:touchscreen
- class:tracing
- class:dialog
- class:consolemessage
- class:frame
- class:executioncontext
- class:jshandle
- class:elementhandle
- class:request
- class:response
- class:securitydetails
- class:target
- class:cdpsession
- class:coverage
- class:timeouterror