Skip to content

Commit 7d55b24

Browse files
committed
Handle edge case: "cannot determine loading status"
1 parent 11be157 commit 7d55b24

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ def click(
356356
self.__js_click(selector, by=by)
357357
else:
358358
element.click()
359-
except (WebDriverException, MoveTargetOutOfBoundsException):
359+
except MoveTargetOutOfBoundsException:
360360
self.wait_for_ready_state_complete()
361361
try:
362362
self.__js_click(selector, by=by)
@@ -373,6 +373,26 @@ def click(
373373
original_selector=original_selector,
374374
)
375375
element.click()
376+
except WebDriverException as e:
377+
if "cannot determine loading status" in e.msg:
378+
pass # Odd issue where the click did happen. Continue.
379+
else:
380+
self.wait_for_ready_state_complete()
381+
try:
382+
self.__js_click(selector, by=by)
383+
except Exception:
384+
try:
385+
self.__jquery_click(selector, by=by)
386+
except Exception:
387+
# One more attempt to click on the element
388+
element = page_actions.wait_for_element_visible(
389+
self.driver,
390+
selector,
391+
by,
392+
timeout=timeout,
393+
original_selector=original_selector,
394+
)
395+
element.click()
376396
latest_window_count = len(self.driver.window_handles)
377397
if (
378398
latest_window_count > pre_window_count
@@ -572,7 +592,13 @@ def update_text(
572592
self.wait_for_ready_state_complete()
573593
else:
574594
element.send_keys(text[:-1])
575-
element.send_keys(Keys.RETURN)
595+
try:
596+
element.send_keys(Keys.RETURN)
597+
except WebDriverException as e:
598+
if "cannot determine loading status" in e.msg:
599+
pass # Odd issue where the click did happen. Continue.
600+
else:
601+
raise e
576602
if settings.WAIT_FOR_RSC_ON_PAGE_LOADS:
577603
self.wait_for_ready_state_complete()
578604
except (StaleElementReferenceException, ENI_Exception):
@@ -586,7 +612,13 @@ def update_text(
586612
element.send_keys(text)
587613
else:
588614
element.send_keys(text[:-1])
589-
element.send_keys(Keys.RETURN)
615+
try:
616+
element.send_keys(Keys.RETURN)
617+
except WebDriverException as e:
618+
if "cannot determine loading status" in e.msg:
619+
pass # Odd issue where the click did happen. Continue.
620+
else:
621+
raise e
590622
if settings.WAIT_FOR_RSC_ON_PAGE_LOADS:
591623
self.wait_for_ready_state_complete()
592624
if (

0 commit comments

Comments
 (0)