Skip to content

Commit 3824c3e

Browse files
[py] Tidy up python exception handling (#10537)
Co-authored-by: David Burns <[email protected]>
1 parent 5a206fb commit 3824c3e

7 files changed

Lines changed: 14 additions & 37 deletions

File tree

py/selenium/webdriver/remote/switch_to.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def alert(self) -> Alert:
5353
alert = driver.switch_to.alert
5454
"""
5555
alert = Alert(self._driver)
56-
alert.text
56+
_ = alert.text
5757
return alert
5858

5959
def default_content(self) -> None:
@@ -141,7 +141,7 @@ def send_handle(h):
141141
try:
142142
# Try using it as a handle first.
143143
send_handle(window_name)
144-
except NoSuchWindowException as e:
144+
except NoSuchWindowException:
145145
# Check every window to try to find the given window name.
146146
original_handle = self._driver.current_window_handle
147147
handles = self._driver.window_handles
@@ -151,4 +151,4 @@ def send_handle(h):
151151
if window_name == current_name:
152152
return
153153
send_handle(original_handle)
154-
raise e
154+
raise

py/selenium/webdriver/remote/webelement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -820,4 +820,4 @@ def _upload(self, filename):
820820
elif '{"status":405,"value":["GET","HEAD","DELETE"]}' in e.__str__():
821821
return filename
822822
else:
823-
raise e
823+
raise

py/selenium/webdriver/support/color.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def hue_to_rgb(lum1: float, lum2: float, hue: float) -> float:
125125
hue -= 1
126126

127127
if hue < 1.0 / 6.0:
128-
return (lum1 + (lum2 - lum1) * 6.0 * hue)
128+
return lum1 + (lum2 - lum1) * 6.0 * hue
129129
elif hue < 1.0 / 2.0:
130130
return lum2
131131
elif hue < 2.0 / 3.0:

py/selenium/webdriver/support/event_firing_webdriver.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def _dispatch(self, l_call, l_args, d_call, d_args):
180180
result = getattr(self._driver, d_call)(*d_args)
181181
except Exception as e:
182182
self._listener.on_exception(e, self._driver)
183-
raise e
183+
raise
184184
getattr(self._listener, "after_%s" % l_call)(*l_args)
185185
return _wrap_elements(result, self)
186186

@@ -207,7 +207,7 @@ def __setattr__(self, item, value):
207207
object.__setattr__(self._driver, item, value)
208208
except Exception as e:
209209
self._listener.on_exception(e, self._driver)
210-
raise e
210+
raise
211211

212212
def __getattr__(self, name):
213213
def _wrap(*args, **kwargs):
@@ -330,7 +330,7 @@ def _dispatch(self, l_call, l_args, d_call, d_args):
330330
result = getattr(self._webelement, d_call)(*d_args)
331331
except Exception as e:
332332
self._listener.on_exception(e, self._driver)
333-
raise e
333+
raise
334334
getattr(self._listener, "after_%s" % l_call)(*l_args)
335335
return _wrap_elements(result, self._ef_driver)
336336

@@ -342,7 +342,7 @@ def __setattr__(self, item, value):
342342
object.__setattr__(self._webelement, item, value)
343343
except Exception as e:
344344
self._listener.on_exception(e, self._driver)
345-
raise e
345+
raise
346346

347347
def __getattr__(self, name):
348348
def _wrap(*args, **kwargs):
@@ -361,4 +361,5 @@ def _wrap(*args, **kwargs):
361361
raise
362362

363363

364+
# Register a virtual subclass.
364365
WebElement.register(EventFiringWebElement)

py/selenium/webdriver/support/expected_conditions.py

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import re
1919

20-
from selenium.common.exceptions import NoSuchElementException, InvalidSelectorException
20+
from selenium.common.exceptions import NoSuchElementException
2121
from selenium.common.exceptions import NoSuchFrameException
2222
from selenium.common.exceptions import StaleElementReferenceException
2323
from selenium.common.exceptions import WebDriverException
@@ -123,8 +123,6 @@ def visibility_of_element_located(locator):
123123
def _predicate(driver):
124124
try:
125125
return _element_if_visible(driver.find_element(*locator))
126-
except InvalidSelectorException as e:
127-
raise e
128126
except StaleElementReferenceException:
129127
return False
130128

@@ -190,8 +188,6 @@ def _predicate(driver):
190188
if _element_if_visible(element, visibility=False):
191189
return False
192190
return elements
193-
except InvalidSelectorException as e:
194-
raise e
195191
except StaleElementReferenceException:
196192
return False
197193

@@ -208,8 +204,6 @@ def _predicate(driver):
208204
try:
209205
element_text = driver.find_element(*locator).text
210206
return text_ in element_text
211-
except InvalidSelectorException as e:
212-
raise e
213207
except StaleElementReferenceException:
214208
return False
215209

@@ -226,8 +220,6 @@ def _predicate(driver):
226220
try:
227221
element_text = driver.find_element(*locator).get_attribute("value")
228222
return text_ in element_text
229-
except InvalidSelectorException as e:
230-
raise e
231223
except StaleElementReferenceException:
232224
return False
233225

@@ -246,8 +238,6 @@ def _predicate(driver):
246238
return False
247239
element_text = driver.find_element(*locator).get_attribute(attribute_)
248240
return text_ in element_text
249-
except InvalidSelectorException as e:
250-
raise e
251241
except StaleElementReferenceException:
252242
return False
253243

@@ -267,8 +257,6 @@ def _predicate(driver):
267257
else:
268258
driver.switch_to.frame(locator)
269259
return True
270-
except InvalidSelectorException as e:
271-
raise e
272260
except NoSuchFrameException:
273261
return False
274262

@@ -288,8 +276,6 @@ def _predicate(driver):
288276
if not isinstance(target, WebElement):
289277
target = driver.find_element(*target)
290278
return _element_if_visible(target, False)
291-
except InvalidSelectorException as e:
292-
raise e
293279
except (NoSuchElementException, StaleElementReferenceException):
294280
# In the case of NoSuchElement, returns true because the element is
295281
# not present in DOM. The try block checks if the element is present
@@ -344,8 +330,6 @@ def _predicate(_):
344330
# Calling any method forces a staleness check
345331
element.is_enabled()
346332
return False
347-
except InvalidSelectorException as e:
348-
raise e
349333
except StaleElementReferenceException:
350334
return True
351335

@@ -376,7 +360,7 @@ def _predicate(driver):
376360
def element_selection_state_to_be(element, is_selected):
377361
""" An expectation for checking if the given element is selected.
378362
element is WebElement object
379-
is_selected is a Boolean."
363+
is_selected is a Boolean.
380364
"""
381365

382366
def _predicate(_):
@@ -396,8 +380,6 @@ def _predicate(driver):
396380
try:
397381
element = driver.find_element(*locator)
398382
return element.is_selected() == is_selected
399-
except InvalidSelectorException as e:
400-
raise e
401383
except StaleElementReferenceException:
402384
return False
403385

@@ -443,8 +425,6 @@ def _predicate(driver):
443425
try:
444426
element_attribute = driver.find_element(*locator).get_attribute(attribute_)
445427
return element_attribute is not None
446-
except InvalidSelectorException as e:
447-
raise e
448428
except StaleElementReferenceException:
449429
return False
450430

py/selenium/webdriver/support/wait.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# under the License.
1717

1818
import time
19-
from selenium.common.exceptions import NoSuchElementException, InvalidSelectorException
19+
from selenium.common.exceptions import NoSuchElementException
2020
from selenium.common.exceptions import TimeoutException
2121

2222
POLL_FREQUENCY = 0.5 # How long to sleep in between calls to the method
@@ -78,8 +78,6 @@ def until(self, method, message=''):
7878
value = method(self._driver)
7979
if value:
8080
return value
81-
except InvalidSelectorException as e:
82-
raise e
8381
except self._ignored_exceptions as exc:
8482
screen = getattr(exc, 'screen', None)
8583
stacktrace = getattr(exc, 'stacktrace', None)
@@ -104,8 +102,6 @@ def until_not(self, method, message=''):
104102
value = method(self._driver)
105103
if not value:
106104
return value
107-
except InvalidSelectorException as e:
108-
raise e
109105
except self._ignored_exceptions:
110106
return True
111107
time.sleep(self._poll)

py/test/selenium/webdriver/common/webdriverwait_tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_should_fail_with_invalid_selector_exception(driver, pages):
3838
WebDriverWait(driver, 0.7).until(EC.presence_of_element_located((By.XPATH, "//*[contains(@id,'something'")))
3939

4040

41-
def test_should_explicitly_wait_for_asingle_element(driver, pages):
41+
def test_should_explicitly_wait_for_a_single_element(driver, pages):
4242
pages.load("dynamic.html")
4343
add = driver.find_element(By.ID, "adder")
4444
add.click()

0 commit comments

Comments
 (0)