@@ -94,6 +94,16 @@ def assert_text(self, *args, **kwargs):
94
94
def assert_exact_text (self , * args , ** kwargs ):
95
95
page_actions .assert_exact_text (self .driver , * args , ** kwargs )
96
96
97
+ def assert_non_empty_text (self , * args , ** kwargs ):
98
+ return page_actions .assert_non_empty_text (
99
+ self .driver , * args , ** kwargs
100
+ )
101
+
102
+ def assert_text_not_visible (self , * args , ** kwargs ):
103
+ return page_actions .assert_text_not_visible (
104
+ self .driver , * args , ** kwargs
105
+ )
106
+
97
107
def wait_for_element (self , * args , ** kwargs ):
98
108
return page_actions .wait_for_element (self .driver , * args , ** kwargs )
99
109
@@ -112,6 +122,16 @@ def wait_for_text(self, *args, **kwargs):
112
122
def wait_for_exact_text (self , * args , ** kwargs ):
113
123
return page_actions .wait_for_exact_text (self .driver , * args , ** kwargs )
114
124
125
+ def wait_for_non_empty_text (self , * args , ** kwargs ):
126
+ return page_actions .wait_for_non_empty_text (
127
+ self .driver , * args , ** kwargs
128
+ )
129
+
130
+ def wait_for_text_not_visible (self , * args , ** kwargs ):
131
+ return page_actions .wait_for_text_not_visible (
132
+ self .driver , * args , ** kwargs
133
+ )
134
+
115
135
def wait_for_and_accept_alert (self , * args , ** kwargs ):
116
136
return page_actions .wait_for_and_accept_alert (
117
137
self .driver , * args , ** kwargs
@@ -134,14 +154,22 @@ def is_text_visible(self, *args, **kwargs):
134
154
def is_exact_text_visible (self , * args , ** kwargs ):
135
155
return page_actions .is_exact_text_visible (self .driver , * args , ** kwargs )
136
156
137
- def get_text (self , * args , ** kwargs ):
138
- return page_actions .get_text (self .driver , * args , ** kwargs )
157
+ def is_attribute_present (self , * args , ** kwargs ):
158
+ return page_actions .has_attribute (self .driver , * args , ** kwargs )
159
+
160
+ def is_non_empty_text_visible (self , * args , ** kwargs ):
161
+ return page_actions .is_non_empty_text_visible (
162
+ self .driver , * args , ** kwargs
163
+ )
164
+
165
+ def is_online (self ):
166
+ return self .driver .execute_script ("return navigator.onLine;" )
139
167
140
168
def js_click (self , * args , ** kwargs ):
141
169
return page_actions .js_click (self .driver , * args , ** kwargs )
142
170
143
- def is_attribute_present (self , * args , ** kwargs ):
144
- return page_actions .has_attribute (self .driver , * args , ** kwargs )
171
+ def get_text (self , * args , ** kwargs ):
172
+ return page_actions .get_text (self .driver , * args , ** kwargs )
145
173
146
174
def get_active_element_css (self , * args , ** kwargs ):
147
175
return js_utils .get_active_element_css (self .driver , * args , ** kwargs )
@@ -182,7 +210,32 @@ def highlight_if_visible(
182
210
if self .is_element_visible (selector , by = by ):
183
211
self .highlight (selector , by = by , loops = loops , scroll = scroll )
184
212
185
- def switch_to_frame (self , frame ):
213
+ def switch_to_default_window (self ):
214
+ self .driver .switch_to .window (self .driver .window_handles [0 ])
215
+
216
+ def switch_to_newest_window (self ):
217
+ self .driver .switch_to .window (self .driver .window_handles [- 1 ])
218
+
219
+ def open_new_window (self , switch_to = True ):
220
+ if switch_to :
221
+ try :
222
+ self .driver .switch_to .new_window ("tab" )
223
+ except Exception :
224
+ self .driver .execute_script ("window.open('');" )
225
+ self .switch_to_newest_window ()
226
+ else :
227
+ self .driver .execute_script ("window.open('');" )
228
+
229
+ def open_new_tab (self , switch_to = True ):
230
+ self .open_new_window (switch_to = switch_to )
231
+
232
+ def switch_to_window (self , * args , ** kwargs ):
233
+ page_actions .switch_to_window (self .driver , * args , ** kwargs )
234
+
235
+ def switch_to_tab (self , * args , ** kwargs ):
236
+ self .switch_to_window (* args , ** kwargs )
237
+
238
+ def switch_to_frame (self , frame = "iframe" ):
186
239
if isinstance (frame , WebElement ):
187
240
self .driver .switch_to .frame (frame )
188
241
else :
0 commit comments