mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
parent
29a2438534
commit
96adedf54f
@ -504,6 +504,8 @@ class ElementHandle extends JSHandle {
|
|||||||
|
|
||||||
boundingBox = await this.boundingBox();
|
boundingBox = await this.boundingBox();
|
||||||
assert(boundingBox, 'Node is either not visible or not an HTMLElement');
|
assert(boundingBox, 'Node is either not visible or not an HTMLElement');
|
||||||
|
assert(boundingBox.width !== 0, 'Node has 0 width.');
|
||||||
|
assert(boundingBox.height !== 0, 'Node has 0 height.');
|
||||||
|
|
||||||
const { layoutViewport: { pageX, pageY } } = await this._client.send('Page.getLayoutMetrics');
|
const { layoutViewport: { pageX, pageY } } = await this._client.send('Page.getLayoutMetrics');
|
||||||
|
|
||||||
|
@ -841,6 +841,8 @@ class Page extends EventEmitter {
|
|||||||
assert(typeof options.clip.y === 'number', 'Expected options.clip.y to be a number but found ' + (typeof options.clip.y));
|
assert(typeof options.clip.y === 'number', 'Expected options.clip.y to be a number but found ' + (typeof options.clip.y));
|
||||||
assert(typeof options.clip.width === 'number', 'Expected options.clip.width to be a number but found ' + (typeof options.clip.width));
|
assert(typeof options.clip.width === 'number', 'Expected options.clip.width to be a number but found ' + (typeof options.clip.width));
|
||||||
assert(typeof options.clip.height === 'number', 'Expected options.clip.height to be a number but found ' + (typeof options.clip.height));
|
assert(typeof options.clip.height === 'number', 'Expected options.clip.height to be a number but found ' + (typeof options.clip.height));
|
||||||
|
assert(options.clip.width !== 0, 'Expected options.clip.width not to be 0.');
|
||||||
|
assert(options.clip.height !== 0, 'Expected options.clip.width not to be 0.');
|
||||||
}
|
}
|
||||||
return this._screenshotTaskQueue.postTask(this._screenshotTask.bind(this, screenshotType, options));
|
return this._screenshotTaskQueue.postTask(this._screenshotTask.bind(this, screenshotType, options));
|
||||||
}
|
}
|
||||||
|
@ -218,10 +218,11 @@ module.exports.addTests = function({testRunner, expect, product}) {
|
|||||||
const screenshotError = await elementHandle.screenshot().catch(error => error);
|
const screenshotError = await elementHandle.screenshot().catch(error => error);
|
||||||
expect(screenshotError.message).toBe('Node is either not visible or not an HTMLElement');
|
expect(screenshotError.message).toBe('Node is either not visible or not an HTMLElement');
|
||||||
});
|
});
|
||||||
xit('should not hang with zero width/height element', async({page, server}) => {
|
it('should not hang with zero width/height element', async({page, server}) => {
|
||||||
await page.setContent('<div style="width: 0; height: 0"></div>');
|
await page.setContent('<div style="width: 50px; height: 0"></div>');
|
||||||
const div = await page.$('div');
|
const div = await page.$('div');
|
||||||
await div.screenshot();
|
const error = await div.screenshot().catch(e => e);
|
||||||
|
expect(error.message).toBe('Node has 0 height.');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user