Fix navigation to about:blank
This patch fixes navigation to about:blank url.
This commit is contained in:
parent
26d97bbe3e
commit
bd767002bb
@ -461,6 +461,9 @@ The `page.navigate` will throw an error if:
|
|||||||
- there's an SSL error (e.g. in case of self-signed certificates).
|
- there's an SSL error (e.g. in case of self-signed certificates).
|
||||||
- target URL is invalid.
|
- target URL is invalid.
|
||||||
- the `timeout` is exceeded during navigation.
|
- the `timeout` is exceeded during navigation.
|
||||||
|
- the main resource failed to load.
|
||||||
|
|
||||||
|
> **NOTE** `page.navigate` either throw or return a main resource response. The only exception is navigation to `about:blank`, which would succeed and return `null`.
|
||||||
|
|
||||||
#### page.pdf(options)
|
#### page.pdf(options)
|
||||||
- `options` <[Object]> Options object which might have the following properties:
|
- `options` <[Object]> Options object which might have the following properties:
|
||||||
|
@ -242,7 +242,7 @@ class Page extends EventEmitter {
|
|||||||
/**
|
/**
|
||||||
* @param {string} html
|
* @param {string} html
|
||||||
* @param {!Object=} options
|
* @param {!Object=} options
|
||||||
* @return {!Promise<!Response>}
|
* @return {!Promise<?Response>}
|
||||||
*/
|
*/
|
||||||
async navigate(url, options) {
|
async navigate(url, options) {
|
||||||
const watcher = new NavigatorWatcher(this._client, options);
|
const watcher = new NavigatorWatcher(this._client, options);
|
||||||
@ -260,6 +260,8 @@ class Page extends EventEmitter {
|
|||||||
}
|
}
|
||||||
await result;
|
await result;
|
||||||
helper.removeEventListeners([listener]);
|
helper.removeEventListeners([listener]);
|
||||||
|
if (url === 'about:blank')
|
||||||
|
return null;
|
||||||
let response = responses.get(this.mainFrame().url());
|
let response = responses.get(this.mainFrame().url());
|
||||||
if (!response)
|
if (!response)
|
||||||
throw new Error('Failed to navigate: ' + url);
|
throw new Error('Failed to navigate: ' + url);
|
||||||
|
@ -443,6 +443,10 @@ describe('Puppeteer', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('Page.navigate', function() {
|
describe('Page.navigate', function() {
|
||||||
|
it('should navigate to about:blank', SX(async function() {
|
||||||
|
let response = await page.navigate('about:blank');
|
||||||
|
expect(response).toBe(null);
|
||||||
|
}));
|
||||||
it('should fail when navigating to bad url', SX(async function() {
|
it('should fail when navigating to bad url', SX(async function() {
|
||||||
let error = null;
|
let error = null;
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user