Index: test/wrappers/pages.js |
=================================================================== |
--- a/test/wrappers/pages.js |
+++ b/test/wrappers/pages.js |
@@ -58,28 +58,28 @@ |
return element.takeScreenshot().then( |
imageFromBase64, |
// Chrome doesn't support taking screenshots of individual elements. So as |
// a workaround, we scroll to the position of the element, take a screenshot |
// of the viewport and crop it to the size and position of our element. |
// This is not guaranteed to work on other browsers (mostly because |
// the behavior of Driver.takeScreenshot() may vary across browsers). |
- () => element.getLocation().then(loc => |
+ () => element.getRect().then(loc => |
element.getDriver().executeScript(` |
window.scrollTo(${loc.x}, ${loc.y}); |
return [window.scrollX, window.scrollY]; |
`).then(result => |
{ |
let x = loc.x - result[0]; |
let y = loc.y - result[1]; |
return Promise.all([ |
element.getDriver().takeScreenshot().then(imageFromBase64), |
- element.getSize() |
+ element.getRect() |
Sebastian Noack
2018/11/06 09:02:33
You might want to use the loc variable (and maybe
hub
2018/11/07 17:13:37
Done.
|
]).then(([img, size]) => |
img.crop(x, y, size.width, size.height) |
); |
}) |
) |
).then(img => img.bitmap); |
} |