File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -5783,14 +5783,32 @@ def js_click(
5783
5783
self.__js_click_element(element)
5784
5784
except Exception:
5785
5785
self.wait_for_ready_state_complete()
5786
+ time.sleep(0.05)
5786
5787
element = self.wait_for_element_present(
5787
5788
selector, by, timeout=settings.SMALL_TIMEOUT
5788
5789
)
5789
- time.sleep(0.05)
5790
- if self.is_element_clickable(selector):
5791
- self.__element_click(element)
5790
+ if (
5791
+ self.is_element_visible(selector)
5792
+ and self.is_element_clickable(selector)
5793
+ ):
5794
+ try:
5795
+ self.__element_click(element)
5796
+ except Exception:
5797
+ try:
5798
+ self.__js_click_element(element)
5799
+ except Exception:
5800
+ element = self.wait_for_element_present(
5801
+ selector, by, timeout=settings.MINI_TIMEOUT
5802
+ )
5803
+ self.__js_click_element(element)
5792
5804
else:
5793
- self.__js_click_element(element)
5805
+ try:
5806
+ self.__js_click_element(element)
5807
+ except Exception:
5808
+ element = self.wait_for_element_present(
5809
+ selector, by, timeout=settings.MINI_TIMEOUT
5810
+ )
5811
+ self.__js_click_element(element)
5794
5812
else:
5795
5813
if ":contains\\(" not in css_selector:
5796
5814
self.__js_click_all(selector, by=by)
You can’t perform that action at this time.
0 commit comments