From 26ee7de35cf5f5445ddd48486fd98e86eaaf292b Mon Sep 17 00:00:00 2001 From: Tatu Aalto Date: Mon, 8 Aug 2016 19:55:32 +0300 Subject: [PATCH 1/2] Fixes #629 by expecting NoSuchElementException Empty expect are not coding pratices. The deselect_by_value and the deselect_by_visible_text raises NoSuchElementException if it can not delest the items. --- src/Selenium2Library/keywords/_selectelement.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Selenium2Library/keywords/_selectelement.py b/src/Selenium2Library/keywords/_selectelement.py index 496289bed..dc0de6f9a 100644 --- a/src/Selenium2Library/keywords/_selectelement.py +++ b/src/Selenium2Library/keywords/_selectelement.py @@ -1,5 +1,6 @@ from selenium.webdriver.support.ui import Select from keywordgroup import KeywordGroup +from selenium.common.exceptions import NoSuchElementException class _SelectElementKeywords(KeywordGroup): @@ -271,17 +272,16 @@ def unselect_from_list(self, locator, *items): select, options = self._get_select_list_options(select) for item in items: + # Only Selenium 2.52 and newer raise exceptions when there is no match. + # For backwards compatibility reasons we want to ignore them. try: select.deselect_by_value(item) - # Code for selenium <= 2.52.0 + except NoSuchElementException: + pass + try: 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 + except NoSuchElementException: + pass def unselect_from_list_by_index(self, locator, *indexes): """Unselects `*indexes` from list identified by `locator` From 661754ae256a189ad69a17736b22f46109a6d41e Mon Sep 17 00:00:00 2001 From: Tatu Aalto Date: Mon, 22 Aug 2016 18:29:40 +0300 Subject: [PATCH 2/2] PEP-8 --- src/Selenium2Library/keywords/_selectelement.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Selenium2Library/keywords/_selectelement.py b/src/Selenium2Library/keywords/_selectelement.py index dc0de6f9a..a89553d84 100644 --- a/src/Selenium2Library/keywords/_selectelement.py +++ b/src/Selenium2Library/keywords/_selectelement.py @@ -2,6 +2,7 @@ from keywordgroup import KeywordGroup from selenium.common.exceptions import NoSuchElementException + class _SelectElementKeywords(KeywordGroup): # Public