From d29008a77053a486fa4b0a0c7431ad0e16fb720c Mon Sep 17 00:00:00 2001 From: jinx Date: Mon, 15 May 2017 13:26:28 +0300 Subject: [PATCH 1/2] Issue #53 related, get relevant viewport coords before crop --- needle/driver.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/needle/driver.py b/needle/driver.py index cd10b49..4a0b26b 100644 --- a/needle/driver.py +++ b/needle/driver.py @@ -60,6 +60,10 @@ def get_screenshot(self): """ Returns a screenshot of this element as a PIL image. """ + # Get relevant coords in case of user scrolls to element + scrolled_x = self._parent.execute_script("return window.pageXOffset;") + scrolled_y = self._parent.execute_script("return window.pageYOffset;") + d = self.get_dimensions() # Cast values to int in order for _ImageCrop not to break @@ -80,10 +84,10 @@ def get_screenshot(self): image = self._parent.get_screenshot_as_image() return image.crop(( - d['left'], - d['top'], - d['left'] + d['width'], - d['top'] + d['height'], + d['left'] - scrolled_x, + d['top'] - scrolled_y, + d['left'] + d['width'] - scrolled_x, + d['top'] + d['height'] - scrolled_y, )) From 519518d83d1efbac869d34227878b32ff9e5fd1d Mon Sep 17 00:00:00 2001 From: jinx Date: Mon, 15 May 2017 15:24:21 +0300 Subject: [PATCH 2/2] Issue #53 related, get relevant viewport coords before crop --- needle/driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/needle/driver.py b/needle/driver.py index 4a0b26b..eeeb581 100644 --- a/needle/driver.py +++ b/needle/driver.py @@ -60,7 +60,7 @@ def get_screenshot(self): """ Returns a screenshot of this element as a PIL image. """ - # Get relevant coords in case of user scrolls to element + # Get relevant coords in case of user scroll to element scrolled_x = self._parent.execute_script("return window.pageXOffset;") scrolled_y = self._parent.execute_script("return window.pageYOffset;")