Skip to content

Commit 8ea9ace

Browse files
committed
Do some refactoring
1 parent ae4b33d commit 8ea9ace

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5825,18 +5825,26 @@ def js_click(
58255825
self.__extra_actions.append(action)
58265826
if not all_matches:
58275827
if ":contains\\(" not in css_selector:
5828-
self.__js_click(selector, by=by)
5828+
try:
5829+
self.__js_click(selector, by=by)
5830+
except Exception:
5831+
current_url = self.driver.current_url
5832+
if current_url == pre_action_url:
5833+
self.__js_click_element(element)
58295834
else:
58305835
try:
58315836
self.__js_click_element(element)
58325837
except Exception:
58335838
self.wait_for_ready_state_complete()
58345839
time.sleep(0.05)
5835-
element = self.wait_for_element_present(
5836-
selector, by, timeout=settings.SMALL_TIMEOUT
5837-
)
5840+
current_url = self.driver.current_url
5841+
if current_url == pre_action_url:
5842+
element = self.wait_for_element_present(
5843+
selector, by, timeout=settings.SMALL_TIMEOUT
5844+
)
58385845
if (
5839-
self.is_element_visible(selector)
5846+
current_url == pre_action_url
5847+
and self.is_element_visible(selector)
58405848
and self.is_element_clickable(selector)
58415849
):
58425850
try:
@@ -5849,14 +5857,16 @@ def js_click(
58495857
selector, by, timeout=settings.MINI_TIMEOUT
58505858
)
58515859
self.__js_click_element(element)
5852-
else:
5860+
elif current_url == pre_action_url:
58535861
try:
58545862
self.__js_click_element(element)
58555863
except Exception:
5856-
element = self.wait_for_element_present(
5857-
selector, by, timeout=settings.MINI_TIMEOUT
5858-
)
5859-
self.__js_click_element(element)
5864+
current_url = self.driver.current_url
5865+
if current_url == pre_action_url:
5866+
element = self.wait_for_element_present(
5867+
selector, by, timeout=settings.MINI_TIMEOUT
5868+
)
5869+
self.__js_click_element(element)
58605870
else:
58615871
if ":contains\\(" not in css_selector:
58625872
self.__js_click_all(selector, by=by)
@@ -6863,6 +6873,7 @@ def get_browser_downloads_folder(self):
68636873
elif (
68646874
self.driver.capabilities["browserName"].lower() == "chrome"
68656875
and int(self.get_chromedriver_version().split(".")[0]) >= 110
6876+
and int(self.get_chromedriver_version().split(".")[0]) <= 112
68666877
and self.headless
68676878
):
68686879
return os.path.abspath(".")

0 commit comments

Comments
 (0)