Big Changes
- Chromium 65.0.3312.0 (r526987)
page.coverage
namespace with CSS and JavaScript coverage supportpage.pdf()
now supports header/footer customization- XPath support with
page.$x
/frame.$x
/elementHandle.$x
target.createCDPSession()
to work with the raw Devtools Protocol.
API Changes
Changed:
dialog.type
getter became a methoddialog.type()
(b737373)console.args
getter became a methodconsole.args()
(b737373)console.text
getter became a methodconsole.text()
(b737373)console.type
getter became a methodconsole.type()
(b737373)request.headers
getter became a methodrequest.headers()
(b737373)request.method
getter became a methodrequest.method()
(b737373)request.postData
getter became a methodrequest.postData()
(b737373)request.resourceType
getter became a methodrequest.resourceType()
(b737373)request.url
getter became a methodrequest.url()
(b737373)response.headers
getter became a methodresponse.headers()
(b737373)response.ok
getter became a methodresponse.ok()
(b737373)response.status
getter became a methodresponse.status()
(b737373)response.url
getter became a methodresponse.url()
(b737373)puppeteer.launch
accepts more options:page.pdf
allows to customize header and footer with new options:page.waitFor()
now acceptsJSHandle
's as arguments and returnsJSHandle
it resolves to. (05b1aca)page.waitForFunction()
now acceptsJSHandle
's as arguments and returnsJSHandle
it resolves to. (05b1aca)page.waitForSelector()
returnsElementHandle
it resolves to. (05b1aca)page.tracing.start()
can be launched with custom tracing categoriescategories
options (5a64888)
Added:
puppeteer.defaultArgs()
(8a40cd5)browser.process()
(4eaf52f)browser.userAgent()
(8e9c54a)page.$x(expression)
(60ba8c3)frame.$x(expression)
(60ba8c3)elementHandle.$x(expression)
(60ba8c3)frame.content()
(770c17b)frame.setContent(html)
(770c17b)request.frame()
(c29822d)page.setDefaultNavigationTimeout(timeout)
(ec8e40f)page.target
(5368051)page.coverage.startCSSCoverage(options)
(24354a4)page.coverage.startJSCoverage(options)
(d062381)page.coverage.stopCSSCoverage()
(24354a4)page.coverage.stopJSCoverage()
(d062381)target.createCDPSession()
(5368051)
Bug Fixes
- #31 - Expose raw protocol in the API
- #280 - API consistency: property getters vs methods
- #373 - Possibility for page numbers in PDF?
- #537 - Handle XPath selectors
- #754 - [Question] Frame html content
- #827 - frame.title() throws protocol error when used with framenavigated
- #872 - Add an API to override default launcher arguments
- #880 - INTERNAL ERROR: failed to find request for interception redirect
- #980 - Document cookie.session property
- #1201 - Preloading a Script
- #1231 - Docs: document page.once()
- #1350 - setCookie() doesn't work?
- #1363 - Intermittent TypeError: Cannot read property 'url' of undefined
- #1367 - Chromium process does not close if main nodejs process crashes
- #1373 - Page crash when HTTPS referer is set
- #1417 - page.waitForNavigation() timeout=0 does not disable timeout, but actually sets it to zero
- #1492 - page.screenshot.type not respected
- #1510 - page.evaluate incorrectly serializes undefined as null
- #1514 - Global timeout settings.
- #1516 - Clarify whether this uses Chrome or Chromium
- #1539 - Feature request: Give access to created processes
- #1557 - Example: search.js should demo something other than google.com
- #1578 - Demo: new search + scrape demo using protocol viewer
- #1579 - Attribute network requests to frames
- #1582 - (docs proposal) add example tool: headless-chrome-crawler
- #1627 - Docker installation instructions miss required library (libgconf-2.so.4)
- #1654 -
page.waitForFunction
should treat ElementHandle arguments as DOM elements - #1703 - .waitForFunction() should return a value
- #1705 - [Feature Request] Return All Nodes from XPath
- #1706 - Needs more information for
browser.version()
- #1724 - waitForFunction should accept and ElementHandle in page function arguments
- #1729 - page.goto returns a promise to null when intercepting request and modifying referer together
- #1737 - Commit #1712 breaks my scripts with 'UnhandledPromiseRejectionWarning'
- #1740 - Not support install form a mirror host that use 3xx http status code
Raw Notes
12b57e3 - chore: mark version v1.0.0 (#1786)
d68033a - chore(examples): indent all examples (#1783)
891a553 - docs(troubleshooting): add note on using ldd to find missing deps (#1780)
9b06ed2 - docs(README): updates to make d.g.c/web/ happy (#1773)
5368051 - feat: expose raw devtools protocol connection (#1770)
ec8e40f - feat(Page): Add global navigation timeout setting (#1728)
3985dee - docs(API): add more explicit examples for page.evaluate (#1711)
9634d13 - fix: requestInterception should play nicely with canceled redirects (#1758)
f6b7c13 - chore(install): mention yarn along npm in the error message (#1759)
c29822d - feat: Attribute network requests to frames (#1646)
5843f6f - fix: setRequestInterception and setExtraHTTPHeaders not working together (#1734)
dcc1b24 - chore(Page): Add missing return comments in addScriptTag and addStyleTag (#1753)
71089b0 - feat: teach Downloader to respect redirects (#1741)
d7d9623 - fix: downloader host fault tolerance (#1739)
8c392b7 - docs(api.md): add missing parentheses after page.mainFrame (#1738)
7c9104e - docs(README): add note on features not supported by Chromium (#1572)
7c9104e - docs(README): add note on features not supported by Chromium (#1572)
972f44d - fix: avoid calling jsonValue from waitFor (#1746)
8e9c54a - feat: introduce browser.userAgent() (#1716)
05b1aca - feat: support JSHandles for page.waitFor* calls (#1712)
32a7fd5 - docs(troubleshooting): add note on --disable-dev-shm-usage for Docker (#1603)
ed3fc47 - test: don't show max listeners warning when running tests in parallel (#1722)
e7eacd4 - test: scrub port from coverage golden files (#1723)
f0b11ad - test: verify serialization of "undefined" fields (#1721)
3481f03 - feat(Chromium): roll Chromium to r526987 (#1720)
0a498ba - docs: update api.md
24354a4 - feat: implement CSS Coverage (#1714)
f183664 - feat: rename page.xpath into page.$x, return an array of elements (#1713)
d062381 - feat: Implement JavaScript Coverage (#1673)
bd73e4b - chore: use unique version for puppeteer@next (#1688)
05f4f94 - test: add server/run.js that runs assets locally (#1687)
508a78d - test: prohibit focused tests/suites on bots (#1686)
16dc037 - chore: update credentials for puppeteer@next auto-deploy (#1685)
e32fdcb - chore(issue template): Add Node.js version to Issue template(#1683) (#1684)
d82402a - test: add dblclick input test (#1675)
4f6d395 - chore: puppeteer@next attempt 2 (#1677)
83fb29d - docs: use less confusing synonym
efbc52a - docs: fix typos (#1647)
35a5d8b - chore(NavigationWatcher): correct closure annotation (#1658)
bf3e0cc - docs: add missing session cookie property to api.md (#1672)
02720e4 - test: do not leave dangling listener on shared browser object (#1674)
e7bcc05 - chore: push successful travis builds to npm as puppeteer@next (#1671)
fc2fc0d - test: run chrome with --disable-dev-shm-usage (#1633)
b2389b0 - feat(emulation): add iPhone X and iPhone X landscape (#1631)
8a40cd5 - feat(Launcher): allow the default arguments to be overridden (#1623)
f8040cb - feat(pdf): add headerTemplate
and footerTemplate
to available PDF options (#1625)
48f5f2e - feat(Chromium): roll chromium to 524617 (#1630)
671d464 - test: await all navigations in tests (#1629)
60ba8c3 - feat: add page.xpath (#1620)
1684104 - docs(troubleshooting.md): add missing temp missing shared lib (#1628)
b737373 - fix: convert all getters to methods (#1621)
10f3b92 - test: Fix broken Tracing unit tests (#1613)
18d5cfa - fix(Cookies): disallow setting cookies in 'about:blank' page (#1567)
be438c5 - chore(testrunner): support first-class test debugging (#1606)
a3a3774 - test: nicer matchers output (#1605)
cb1cb69 - chore(search) - search developers.google.com for "Headess chrome" articles (#1586)
4c58881 - doc: Add headless-chrome-crawler to example's README (#1585)
63f7e38 - docs(README.md): Update docs to more clearly differentiate between Chromium and Chrome (#1574)
a5db6d4 - test: migrate test.js to support concurrent test execution (#1531)
4eaf52f - feat(Browser): introduce browser.process() variable (#1581)
a164524 - feat(Connection): nicer stack traces on protocol errors (#1383)
ea5da00 - chore: remove search.js example (#1564)
f19e2ad - feat(install): build node6 support when installing from github (#1562)
fc1f15e - test(testrunner): fix the 'timeout: 0' test runner setting (#1561)
391d1ab - chore: generalize node6 transpilation (#1560)
9a50868 - refactor: move ChromiumDownloader under lib/ (#1554)
11d9452 - chore: fix appveyor build (#1558)
e6725e1 - tests: drop jasmine test runner (#1519)
c4083f0 - feat(Chromium): roll Chromium to r522446 (#1499)
696f59e - docs(api.md): Note that Browser and Page extend from EventEmitter (#1541)
16320b7 - fix(Page.screenshot): prioritize screenshot type over filename extension (#1526)
9fc39a4 - test: disable 'userDataDir option should restore cookies' (#1538)
c55f4e3 - feat(installer): Support HTTP mirror (#1372)
b28adbb - fix(Downloader): better handling for HTTPS proxy (#1508)
90f799c - chore: remove excessive whitespace (#1375)
5a64888 - feat(Tracing): allow custom tracing categories (#1439)
42fd41c - chore: use string literal in require
for index.js (#1511)
c58c70e - test: deflake tween mouse test (#1515)
2becd15 - feat(Chromium): roll Chromium to r518818 (#1455)
770c17b - feat(Frame): implement frame.content and frame.setContent methods (#1447)
3b60ad1 - doc(api.md): ElementHandle.boundingBox() returns a promise (#1437)
88eaede - fix(page): fix "timeout: 0" to actually disable any navigation timeout (#1435)
cafd040 - fix(Network): be prepared to miss requestWillBeSent events (#1420)
ea70ac9 - fix(Page.goto): check navigation completeness on frame detachment (#1419)
6512ce7 - fix(Frame): postpone evaluations until execution context gets created (#1415)
48ccf1e - doc(api.md): add evaluateOnNewDocument examples (#1202)
90ca007 - fix(Launcher): handle SIGHUP signal (#1405)
a350e89 - chore(Browser): fix jsdoc in Browser.create method (#1403)
cc0c461 - fix(Launcher): handle SIGTERM by default (#1402)
d8ac8fc - docs(api.md): fix return signatures that contains null (#1364)
99103cb - chore: bump version to 1.0.0rc (#1389)