Big Changes
- Chromium 64.0.3240.0 (r508693)
- JSHandles are introduced to handle in-page objects
page.queryObjects
method to query javascript heappage.getMetrics
andevent: 'metrics'
to measure page performancepage.setOfflineMode
to test page offline behavior
API changes
Changed:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
is supported in npmrc (2babcb0)event: 'console'
dispatches instances of ConsoleMessage instead of array of stringskeyboard.down
generates input event by default (6a8865c)page.addScriptTag
accepts options object instead of URL (c310f13)page.goBack
accepts0
to disable timeout (53531c9)page.goForward
accepts0
to disable timeout (53531c9)page.goto
accepts0
to disable timeout (53531c9)page.pdf
has a newA6
page format (3f9f0f4)page.reload
accepts0
to disable timeout (53531c9)page.waitForSelector
has a newhidden
option (8511db9)puppeteer.launch
Added:
class: ConsoleMessage
(f625502)class: ExecutionContext
(e6af6e1)class: JSHandle
(e6af6e1)elementHandle.boundingBox
(7e28dba)elementHandle.focus
(0af0d7d)elementHandle.press
(0af0d7d)elementHandle.screenshot
(7e28dba)elementHandle.type
(0af0d7d)event: 'metrics'
(b82d319)page.$$eval
(7a8aa73)page.addStyleTag
(c310f13)page.getMetrics
(b82d319)page.queryObjects
(23c0ba0)page.select
(45f2640)page.setOfflineMode
(a02347e)
Removed:
page.injectFile
-page.addScriptTag
now should be used. (c310f13)page.plaintText
- innerText/textContent could be obtained withpage.evaluate
. (1fbf2a8)
Bug Fixes
- #63 - Emulate offline
- #241 - Add keyboard.type
- #304 - Add memory heap snapshot API
- #309 - Is there a way to measure page performance?
- #324 - evaluate - strange execute sequence
- #382 - Implement object handles
- #613 - Hwo can I set HTML select element value?
- #625 - Introduce page.$eval and page.$$eval
- #684 - Clicking element inside iFrame does not give any response
- #734 - Request.resourceType doesnt match DevTools
- #744 - Feature request: console level
- #750 - Throw error with stack trace when launching with an invalid executablePath option
- #782 - Constantly getting Navigation Timeout Error
- #839 - Chromium is not closed completely gracefully
- #864 - Is there a way to open DevTools progammaticaly?
- #869 - URI malformed exception that is not handled
- #884 - What is the reason of using a sync version of writeFile for pdf save?
- #892 - Add
addStyleTag(url)
API - #949 - Replace
injectFile
toinjectScript
and addinjectCSS
- #1010 - ElementHandle screenshot does not count padding (or add options to count the padding/margin)
Raw notes
b555151 - chore: mark version 0.12.0
6a8865c - feat(keyboard): make keyboard.down generate input event by default (#1016)
a02347e - feat(Page): implement page.setOfflineMode (#1032)
fd88eb5 - feat(chromium): roll chromium to r508693 (#1031)
8511db9 - feat(page): waitForSelector hidden option (#967)
8f430fb - fix(ElementHandle.boundingBox): account for margin, padding, and border in element.boxModel (#1017)
1c52830 - feat: roll to 508367 (#1027)
053534b - chore: update yarn lock #1025
c310f13 - feat(Frame): Support options in addScriptTag
and addStyleTag
(#996)
0426e3c - Roll chromium to 508268 (#1019)
c893bf3 - fix(input) Send .code with keyboard events (#1015)
23c0ba0 - feat(Page): introduce Page.queryObjects (#1005)
3f9f0f4 - feat(Page.pdf): add 'A6' page format
9ecf20f - chore: Allow development under Windows platform (#992)
ff08e45 - fix: Remove synchronous operation with file system. (#879)
7a8aa73 - feat(Page): introduce Page.$$eval method (#1006)
464b6a9 - fix(Page.getMetrics): do not report a few metrics (#1001)
b82d319 - feat(Page): Support Page.getMetrics and metrics event. (#939)
77d3c29 - test(launcher): add a test for invalid executablePath option
13f100b - docs(api): fix typo
1fbf2a8 - feat(Page): kill the page.plainText method (#994)
079db90 - fix(JSHandle.toString): clearer description for primitives (#993)
c3fb367 - fix(Request): convert resourceType to all small-caps (#990)
7e28dba - feat(ElementHandle): add EH.boundingBox and EH.screenshot
515f2cd - feat: Roll to r507565 (#987)
e59172d - chore: Use Typescript to lint JSDoc annotations (#986)
7b5d7dd - docs(readme): fix typo (#988)
f1aa18a - feat(Launcher): add devtools option (#953)
e6af6e1 - feat(console): dispatch JSHandles as console arguments (#975)
8d1d9fe - chore(doc): replace 'could' with 'can'
52f92c9 - fix(input): clicking an element should take into account frame position (#971)
a7672ac - fix: return undefined when Page.evaluate encounters circular JSON (#983)
3ecd98d - fix(Page.select): synthesized events should bubble
44cdf85 - chore(doc): fix a link (#977)
4e55867 - chore(doc): fix nits after JSHandles PR (#976)
3214bb7 - chore(doc): fix implicit link to JSHandle
0af0d7d - feat(Input): Add keyboard methods to elementHandle (#801)
0d0f9b7 - feat(JSHandles): introduce JSHandles (#943)
59bcc2e - chore(docs): fix console example in docs/api.md
d3976cb - test: add failing test for storing data in custom userDataDir
c225b93 - feat(Launcher): Allow environment variables definition when launching chromium (#912)
97e40e6 - feat(Frame): Add addStyleTag
API to frame - fixes #892 (#947)
d87480b - Node6: Remove parentheses around the body of async arrow functions (#942)
dc4c878 - chore(doclint): fix doclint tests (#941)
017429e - chore(doclint): exclude constructors by default (#938)
6c9a994 - chore(doclint): support classes inheritance (#935)
8bcf550 - chore(doclint): add basic tests for documentation parsers (#934)
41fd4b5 - chore(doclint): move doclint tests expectations into test folders (#932)
f9640a5 - chore(doc): add a note about using ElementHandle instances (#925)
215b349 - fix(Page): remove event listeners to avoid MaxListenersExceededWarning
53531c9 - feat(page): Allow Page.goto's timeout to be 0
to disable timeout (#887)
bafd937 - chore(tests): fix a few typos in tests (#911)
a6cf823 - feat(Launcher): introduce appMode option
1c292e9 - chore(doc): fix browser.wsEndpoint() return value format (#898)
c46c41d - fix(Launcher): Launcher should handle chrome process errors (#863)
cb280c5 - fix(Launcher): Terminate chrome gracefully on Windows (#876)
f625502 - feat(Console): Introduce ConsoleMessage type (#909)
cfece34 - fix(Network): Do not attempt to normalize malformed URLs. (#875)
ec760ab - chore: update yarn lock (#889)
72161c4 - [roll] Roll chromium to r503964 (#878)
0164b7c - Added info on how to find the browserWSEndpoint (#780)
9b0a062 - [docs] clarify env variables usage with npmrc
2babcb0 - [feat] Support PUPPETEER_SKIP_CHROMIUM_DOWNLOAD in npmrc
45f2640 - [api] Introduce Page.select method (#779)
acdb588 - doc: fix a link (#856)
ccf8fb1 - readme: add try-puppeteer link (#849)
c2b3fe9 - Remove --no-sandbox from Docker example (#838)
bc4aefa - Bump version to 0.12.0-alpha