@@ -97,6 +97,15 @@ def assert_exact_text(self, *args, **kwargs):
97
97
def wait_for_element (self , * args , ** kwargs ):
98
98
return page_actions .wait_for_element (self .driver , * args , ** kwargs )
99
99
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
+
100
109
def wait_for_text (self , * args , ** kwargs ):
101
110
return page_actions .wait_for_text (self .driver , * args , ** kwargs )
102
111
@@ -147,6 +156,8 @@ def get_user_agent(self, *args, **kwargs):
147
156
return js_utils .get_user_agent (self .driver , * args , ** kwargs )
148
157
149
158
def highlight (self , * args , ** kwargs ):
159
+ if "scroll" in kwargs :
160
+ kwargs .pop ("scroll" )
150
161
w_args = kwargs .copy ()
151
162
if "loops" in w_args :
152
163
w_args .pop ("loops" )
@@ -161,8 +172,16 @@ def highlight_click(self, *args, **kwargs):
161
172
self .highlight (* args , ** kwargs )
162
173
if "loops" in kwargs :
163
174
kwargs .pop ("loops" )
175
+ if "scroll" in kwargs :
176
+ kwargs .pop ("scroll" )
164
177
page_actions .click (self .driver , * args , ** kwargs )
165
178
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
+
166
185
def switch_to_frame (self , frame ):
167
186
if isinstance (frame , WebElement ):
168
187
self .driver .switch_to .frame (frame )
0 commit comments