From 1b23b6ea4e9b4f3f8ef415942120a0fd313c5eab Mon Sep 17 00:00:00 2001 From: 0uk Date: Sun, 10 Sep 2017 14:43:21 +1200 Subject: [PATCH] Fix package name in python webelement module __package__ may be None in some situations, retrieving it using __name__ is more reliable Fixes #4558 --- py/selenium/webdriver/remote/webelement.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/py/selenium/webdriver/remote/webelement.py b/py/selenium/webdriver/remote/webelement.py index b487429fbc729..b87cc500168f3 100644 --- a/py/selenium/webdriver/remote/webelement.py +++ b/py/selenium/webdriver/remote/webelement.py @@ -38,8 +38,10 @@ except ImportError: # 3+ from io import BytesIO as IOStream -getAttribute_js = pkgutil.get_data(__package__, 'getAttribute.js').decode('utf8') -isDisplayed_js = pkgutil.get_data(__package__, 'isDisplayed.js').decode('utf8') +# not relying on __package__ here as it can be `None` in some situations (see #4558) +_pkg = '.'.join(__name__.split('.')[:-1]) +getAttribute_js = pkgutil.get_data(_pkg, 'getAttribute.js').decode('utf8') +isDisplayed_js = pkgutil.get_data(_pkg, 'isDisplayed.js').decode('utf8') class WebElement(object):