mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
090ecfa6b9
This patch adds `frame.waitFor(selector)` method. Fixes #42.
11 KiB
11 KiB
Puppeteer API
Table of Contents
- class: Browser
- class: Page
- page.addScriptTag(url)
- page.click()
- page.close()
- page.evaluate(fun, args)
- page.evaluateOnInitialized(fun, args)
- page.focus()
- page.frames()
- page.httpHeaders()
- page.injectFile(filePath)
- page.mainFrame()
- page.navigate(url)
- page.plainText()
- page.printToPDF(filePath[, options])
- page.screenshot([options])
- page.setContent(html)
- page.setHTTPHeaders(headers)
- page.setInPageCallback(name, callback)
- page.setRequestInterceptor()
- page.setUserAgent(userAgent)
- page.setViewportSize(size)
- page.title()
- page.type()
- page.url()
- page.userAgent()
- page.viewportSize()
- page.waitFor(selector)
- class: Dialog
- class: Frame
- class: Request
- class: Response
- class: InterceptedRequest
- class: Headers
- class: Body
class: Browser
Browser manages a browser instance, creating it with a predefined settings, opening and closing pages. Instantiating Browser class does not necessarily result in launching browser; the instance will be launched when the need will arise.
new Browser([options])
options
<Object> Set of configurable options to set on the browser. Can have the following fields:headless
<boolean> Wether to run chromium in headless mode. Defaults totrue
.remoteDebuggingPort
<number> Specify a remote debugging port to open on chromium instance. Defaults to9229
.executablePath
<string> Path to a chromium executable to run instead of bundled chromium.args
<Array<string>> Additional arguments to pass to the chromium instance. List of chromium flags could be found here.
browser.close()
Closes chromium application with all the pages (if any were opened). The browser object itself is considered to be disposed and could not be used anymore.
browser.closePage()
- returns: <Promise>
browser.newPage()
Create a new page in browser and returns a promise which gets resolved with a Page object.
browser.version()
class: Page
Page provides interface to interact with a tab in a browser. Pages are created by browser:
var browser = new Browser();
browser.newPage().then(page => {
...
});
Pages could be closed by page.close()
method.
page.addScriptTag(url)
url
<string> Url of a script to be added- returns: <Promise> Promise which resolves as the script gets added and loads.
page.click()
page.close()
- returns: <Promise> Returns promise which resolves when page gets closed.
page.evaluate(fun, args)
fun
<function> Function to be evaluated in browser contextargs
<Array<string>> Arguments to pass tofun
- returns: <Promise<Object>> Promise which resolves to function return value
page.evaluateOnInitialized(fun, args)
fun
<function> Function to be evaluated in browser contextargs
<Array<string>> Arguments to pass tofun
- returns: <Promise<Object>> Promise which resolves to function
page.focus()
page.frames()
page.httpHeaders()
- returns: <Object> Key-value set of additional http headers, which will be sent with every request.
page.injectFile(filePath)
url
<string> Path to the javascript file to be injected into page.- returns: <Promise> Promise which resolves when file gets successfully evaluated in page.
page.mainFrame()
page.navigate(url)
url
<string> URL to navigate page to- returns: <Promise<boolean>> Promise which resolves when the page is navigated. The promise resolves to:
true
if the navigation succeeds and page'sload
event is fired.false
if the navigation fails due to bad URL or SSL errors.
page.plainText()
page.printToPDF(filePath[, options])
filePath
<string> The file path to save the image to. The screenshot type will be inferred from file extensionoptions
<Object> Options object which might have the following properties:- returns: <Promise> Promise which resolves when the PDF is saved.
page.screenshot([options])
options
<Object> Options object which might have the following properties:path
<string> The file path to save the image to. The screenshot type will be inferred from file extension.type
<string> Specify screenshot type, could be eitherjpeg
orpng
.quality
<number> The quality of the image, between 0-100. Not applicable to.jpg
images.fullPage
<boolean> When true, takes a screenshot of the full scrollable page.clip
<Object> An object which specifies clipping region of the page. Should have the following fields:
- returns: <Promise<Buffer>> Promise which resolves to buffer with captured screenshot
page.setContent(html)
html
<string> HTML markup to assign to the page.- returns: <Promise> Promise which resolves when the content is successfully assigned.
page.setHTTPHeaders(headers)
headers
<Object> Key-value set of additional http headers to be sent with every request.- returns: <Promise> Promise which resolves when additional headers are installed
page.setInPageCallback(name, callback)
url
<string> Name of the callback to be assigned on window objectcallback
<function> Callback function which will be called in node.js- returns: <Promise> Promise which resolves when callback is successfully initialized
page.setRequestInterceptor()
page.setUserAgent(userAgent)
userAgent
<string> Specific user agent to use in this page- returns: <Promise> Promise which resolves when the user agent is set.
page.setViewportSize(size)
size
<Object> An object with two fields:- returns: <Promise> Promise which resolves when the dimensions are updated.
page.title()
page.type()
page.url()
page.userAgent()
- returns: <string> Returns user agent.
page.viewportSize()
- returns: <Object> An object with two fields:
page.waitFor(selector)
Shortcut for page.mainFrame().waitFor(selector).
class: Dialog
dialog.accept()
dialog.dismiss()
dialog.message()
class: Frame
frame.childFrames()
frame.evaluate(fun, args)
fun
<function> Function to be evaluated in browser contextargs
<Array<string>> Arguments to pass tofun
- returns: <Promise<Object>> Promise which resolves to function return value
frame.isDetached()
frame.isMainFrame()
frame.name()
frame.parentFrame()
frame.securityOrigin()
frame.url()
frame.waitFor(selector)
selector
<string> CSS selector of awaited element,- returns: <Promise> Promise which resolves when element specified by selector string is added to DOM.