@@ -407,7 +407,7 @@ def click(
407
407
except Stale_Exception:
408
408
self.wait_for_ready_state_complete()
409
409
time.sleep(0.16)
410
- element = page_actions.wait_for_element_visible (
410
+ element = page_actions.wait_for_element_clickable (
411
411
self.driver,
412
412
selector,
413
413
by,
@@ -444,6 +444,22 @@ def click(
444
444
timeout=timeout,
445
445
original_selector=original_selector,
446
446
)
447
+ if not page_actions.is_element_clickable(
448
+ self.driver, selector, by
449
+ ):
450
+ try:
451
+ self.wait_for_element_clickable(
452
+ selector, by, timeout=1.8
453
+ )
454
+ except Exception:
455
+ pass # Find out which element would get the click instead
456
+ element = page_actions.wait_for_element_visible(
457
+ self.driver,
458
+ selector,
459
+ by,
460
+ timeout=timeout,
461
+ original_selector=original_selector,
462
+ )
447
463
href = None
448
464
new_tab = False
449
465
onclick = None
@@ -500,7 +516,7 @@ def click(
500
516
self.__jquery_click(selector, by=by)
501
517
except Exception:
502
518
# One more attempt to click on the element
503
- element = page_actions.wait_for_element_visible (
519
+ element = page_actions.wait_for_element_clickable (
504
520
self.driver,
505
521
selector,
506
522
by,
@@ -2748,7 +2764,7 @@ def __select_option(
2748
2764
)
2749
2765
try:
2750
2766
element = self.wait_for_element_clickable(
2751
- dropdown_selector, by=dropdown_by, timeout=1.2
2767
+ dropdown_selector, by=dropdown_by, timeout=1.8
2752
2768
)
2753
2769
except Exception:
2754
2770
self.wait_for_ready_state_complete()
@@ -2775,7 +2791,7 @@ def __select_option(
2775
2791
)
2776
2792
try:
2777
2793
element = self.wait_for_element_clickable(
2778
- dropdown_selector, by=dropdown_by, timeout=1.2
2794
+ dropdown_selector, by=dropdown_by, timeout=1.8
2779
2795
)
2780
2796
except Exception:
2781
2797
self.wait_for_ready_state_complete()
@@ -12121,7 +12137,7 @@ def __js_click(self, selector, by="css selector"):
12121
12137
):
12122
12138
try:
12123
12139
self.wait_for_element_clickable(
12124
- selector, by, timeout=1.2
12140
+ selector, by, timeout=1.8
12125
12141
)
12126
12142
except Exception:
12127
12143
pass
0 commit comments