From bf5c56f16b2ee899962020def9b788f4b4c7856d Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Fri, 29 Apr 2016 17:45:01 +0100 Subject: [PATCH] Fixes `Unselect From List` due to Selenium changes. Since Selenium version 2.53.0 deselect_by_value/label returns boolean, and Exception if element is not found. This fix keeps compatibility with versions <=2.52.0. --- src/Selenium2Library/keywords/_selectelement.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Selenium2Library/keywords/_selectelement.py b/src/Selenium2Library/keywords/_selectelement.py index e63bfd466..496289bed 100644 --- a/src/Selenium2Library/keywords/_selectelement.py +++ b/src/Selenium2Library/keywords/_selectelement.py @@ -271,8 +271,17 @@ def unselect_from_list(self, locator, *items): select, options = self._get_select_list_options(select) for item in items: - select.deselect_by_value(item) - select.deselect_by_visible_text(item) + try: + select.deselect_by_value(item) + # Code for selenium <= 2.52.0 + select.deselect_by_visible_text(item) + except: # Code for selenium > 2.52.0 + try: + select.deselect_by_visible_text(item) + except: + self._warn("Tried to unselect missing selection item, \ +'%s' from locator '%s'." % (item, locator)) + continue def unselect_from_list_by_index(self, locator, *indexes): """Unselects `*indexes` from list identified by `locator`