From f1fcb848a14727f839e1514fd6e96d0d0afb9371 Mon Sep 17 00:00:00 2001 From: hvelarde Date: Fri, 27 Jan 2017 13:03:28 -0200 Subject: [PATCH] Get image information before closing the browser to avoid URLError --- src/collective/behavior/featuredimage/subscriber.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/collective/behavior/featuredimage/subscriber.py b/src/collective/behavior/featuredimage/subscriber.py index a580e79..2cefbb8 100644 --- a/src/collective/behavior/featuredimage/subscriber.py +++ b/src/collective/behavior/featuredimage/subscriber.py @@ -11,18 +11,21 @@ def _get_screenshot(page): """Get screenshot of Fetured Image""" browser = webdriver.PhantomJS() + browser.implicitly_wait(1) # seconds + # Use minimun image size while don't break image proportion browser.set_window_size(1300, 1300) browser.get(page) data = browser.get_screenshot_as_png() - # crop image el = browser.find_element_by_id('featuredimage') + location, size = el.location, el.size + # XXX: quit() does not terminate PhantomJS process # https://github.com/SeleniumHQ/selenium/issues/767 browser.service.process.send_signal(signal.SIGTERM) browser.quit() - location = el.location - size = el.size + + # crop image im = Image.open(StringIO(data)) im = im.crop(( location['x'], location['y'],