@@ -97,6 +97,15 @@ def assert_exact_text(self, *args, **kwargs):
9797 def wait_for_element (self , * args , ** kwargs ):
9898 return page_actions .wait_for_element (self .driver , * args , ** kwargs )
9999
100+ def wait_for_element_visible (self , * args , ** kwargs ):
101+ return page_actions .wait_for_element (self .driver , * args , ** kwargs )
102+
103+ def wait_for_element_present (self , * args , ** kwargs ):
104+ return page_actions .wait_for_selector (self .driver , * args , ** kwargs )
105+
106+ def wait_for_selector (self , * args , ** kwargs ):
107+ return page_actions .wait_for_selector (self .driver , * args , ** kwargs )
108+
100109 def wait_for_text (self , * args , ** kwargs ):
101110 return page_actions .wait_for_text (self .driver , * args , ** kwargs )
102111
@@ -147,6 +156,8 @@ def get_user_agent(self, *args, **kwargs):
147156 return js_utils .get_user_agent (self .driver , * args , ** kwargs )
148157
149158 def highlight (self , * args , ** kwargs ):
159+ if "scroll" in kwargs :
160+ kwargs .pop ("scroll" )
150161 w_args = kwargs .copy ()
151162 if "loops" in w_args :
152163 w_args .pop ("loops" )
@@ -161,8 +172,16 @@ def highlight_click(self, *args, **kwargs):
161172 self .highlight (* args , ** kwargs )
162173 if "loops" in kwargs :
163174 kwargs .pop ("loops" )
175+ if "scroll" in kwargs :
176+ kwargs .pop ("scroll" )
164177 page_actions .click (self .driver , * args , ** kwargs )
165178
179+ def highlight_if_visible (
180+ self , selector , by = "css selector" , loops = 4 , scroll = True
181+ ):
182+ if self .is_element_visible (selector , by = by ):
183+ self .highlight (selector , by = by , loops = loops , scroll = scroll )
184+
166185 def switch_to_frame (self , frame ):
167186 if isinstance (frame , WebElement ):
168187 self .driver .switch_to .frame (frame )
0 commit comments