From e6b3fe3488b4eff2420e5c01a7d0e839ebbd9576 Mon Sep 17 00:00:00 2001 From: Taka Date: Wed, 8 Jul 2020 07:04:26 +0000 Subject: [PATCH] Changed the threshold at which we retry webdriver screenshots. --- vasl_templates/webapp/webdriver.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vasl_templates/webapp/webdriver.py b/vasl_templates/webapp/webdriver.py index 6cd9a2d..1c67fa0 100644 --- a/vasl_templates/webapp/webdriver.py +++ b/vasl_templates/webapp/webdriver.py @@ -130,12 +130,13 @@ class WebDriver: screenshot_tempfile.close() self.driver.set_window_size( window_size[0], window_size[1] ) img = do_get_screenshot( screenshot_tempfile.name ) - if img.width > window_size[0]*9/10 or img.height > window_size[1]*9/10: - # the image may have been cropped - try again with a larger window size + retry_ratio = float( app.config.get( "WEBDRIVER_SCREENSHOT_RETRY_RATIO", 0.8 ) ) + if img.width > window_size[0]*retry_ratio or img.height > window_size[1]*retry_ratio: + # FUDGE! The webdriver sometimes has trouble when the image is close to the edge of the canvas + # (it gets cropped), so we retry even if we appear to be completely within the canvas. if large_window_size: self.driver.set_window_size( large_window_size[0], large_window_size[1] ) img = do_get_screenshot( screenshot_tempfile.name ) - return img def get_snippet_screenshot( self, snippet_id, snippet ):