| 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); |
| } |