@@ -497,7 +497,7 @@ def __press_keys(self, element, text):
497497 element .send_keys ("\r \n " )
498498 time .sleep (0.044 )
499499 self .__slow_mode_pause_if_set ()
500- return self .loop .run_until_complete (self .page .wait ( ))
500+ return self .loop .run_until_complete (self .page .sleep ( 0.025 ))
501501
502502 def __query_selector (self , element , selector ):
503503 selector = self .__convert_to_css_if_xpath (selector )
@@ -864,7 +864,7 @@ def send_keys(self, selector, text, timeout=None):
864864 text = text [:- 1 ] + "\r \n "
865865 element .send_keys (text )
866866 self .__slow_mode_pause_if_set ()
867- self .loop .run_until_complete (self .page .wait ( ))
867+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
868868
869869 def press_keys (self , selector , text , timeout = None ):
870870 """Similar to send_keys(), but presses keys at human speed."""
@@ -884,7 +884,7 @@ def press_keys(self, selector, text, timeout=None):
884884 element .send_keys ("\r \n " )
885885 time .sleep (0.044 )
886886 self .__slow_mode_pause_if_set ()
887- self .loop .run_until_complete (self .page .wait ( ))
887+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
888888
889889 def type (self , selector , text , timeout = None ):
890890 """Similar to send_keys(), but clears the text field first."""
@@ -899,7 +899,7 @@ def type(self, selector, text, timeout=None):
899899 text = text [:- 1 ] + "\r \n "
900900 element .send_keys (text )
901901 self .__slow_mode_pause_if_set ()
902- self .loop .run_until_complete (self .page .wait ( ))
902+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
903903
904904 def set_value (self , selector , text , timeout = None ):
905905 """Similar to send_keys(), but clears the text field first."""
@@ -937,7 +937,7 @@ def set_value(self, selector, text, timeout=None):
937937 self .__add_light_pause ()
938938 self .send_keys (selector , "\n " )
939939 self .__slow_mode_pause_if_set ()
940- self .loop .run_until_complete (self .page .wait ( ))
940+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
941941
942942 def evaluate (self , expression ):
943943 """Run a JavaScript expression and return the result."""
@@ -1377,7 +1377,7 @@ def gui_press_key(self, key):
13771377 pyautogui .press (key )
13781378 time .sleep (0.044 )
13791379 self .__slow_mode_pause_if_set ()
1380- self .loop .run_until_complete (self .page .wait ( ))
1380+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
13811381
13821382 def gui_press_keys (self , keys ):
13831383 self .__install_pyautogui_if_missing ()
@@ -1392,7 +1392,7 @@ def gui_press_keys(self, keys):
13921392 pyautogui .press (key )
13931393 time .sleep (0.044 )
13941394 self .__slow_mode_pause_if_set ()
1395- self .loop .run_until_complete (self .page .wait ( ))
1395+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
13961396
13971397 def gui_write (self , text ):
13981398 self .__install_pyautogui_if_missing ()
@@ -1405,7 +1405,7 @@ def gui_write(self, text):
14051405 self .__make_sure_pyautogui_lock_is_writable ()
14061406 pyautogui .write (text )
14071407 self .__slow_mode_pause_if_set ()
1408- self .loop .run_until_complete (self .page .wait ( ))
1408+ self .loop .run_until_complete (self .page .sleep ( 0.025 ))
14091409
14101410 def __gui_click_x_y (self , x , y , timeframe = 0.25 , uc_lock = False ):
14111411 self .__install_pyautogui_if_missing ()
@@ -1820,44 +1820,17 @@ def wait_for_element_visible(self, selector, timeout=None):
18201820 time .sleep (0.1 )
18211821 raise Exception ("Element {%s} was not visible!" % selector )
18221822
1823- def assert_element (self , selector , timeout = None ):
1824- """Same as assert_element_visible()"""
1825- self .assert_element_visible (selector , timeout = timeout )
1826- return True
1827-
1828- def assert_element_visible (self , selector , timeout = None ):
1829- """Same as assert_element()"""
1830- if not timeout :
1831- timeout = settings .SMALL_TIMEOUT
1832- try :
1833- self .select (selector , timeout = timeout )
1834- except Exception :
1835- raise Exception ("Element {%s} was not found!" % selector )
1836- for i in range (30 ):
1837- if self .is_element_visible (selector ):
1838- return True
1839- time .sleep (0.1 )
1840- raise Exception ("Element {%s} was not visible!" % selector )
1841-
1842- def assert_element_present (self , selector , timeout = None ):
1843- """Assert element is present in the DOM. (Visibility NOT required)"""
1844- if not timeout :
1845- timeout = settings .SMALL_TIMEOUT
1846- try :
1847- self .select (selector , timeout = timeout )
1848- except Exception :
1849- raise Exception ("Element {%s} was not found!" % selector )
1850- return True
1851-
1852- def assert_element_absent (self , selector , timeout = None ):
1853- """Assert element is not present in the DOM."""
1823+ def wait_for_element_not_visible (self , selector , timeout = None ):
1824+ """Wait for element to not be visible on page. (May still be in DOM)"""
18541825 if not timeout :
18551826 timeout = settings .SMALL_TIMEOUT
18561827 start_ms = time .time () * 1000.0
18571828 stop_ms = start_ms + (timeout * 1000.0 )
18581829 for i in range (int (timeout * 10 )):
18591830 if not self .is_element_present (selector ):
18601831 return True
1832+ elif not self .is_element_visible (selector ):
1833+ return True
18611834 now_ms = time .time () * 1000.0
18621835 if now_ms >= stop_ms :
18631836 break
@@ -1866,21 +1839,19 @@ def assert_element_absent(self, selector, timeout=None):
18661839 if timeout == 1 :
18671840 plural = ""
18681841 raise Exception (
1869- "Element {%s} was still present after %s second%s!"
1842+ "Element {%s} was still visible after %s second%s!"
18701843 % (selector , timeout , plural )
18711844 )
18721845
1873- def assert_element_not_visible (self , selector , timeout = None ):
1874- """Assert element is not visible on page. (May still be in DOM) """
1846+ def wait_for_element_absent (self , selector , timeout = None ):
1847+ """Wait for element to not be present in the DOM. """
18751848 if not timeout :
18761849 timeout = settings .SMALL_TIMEOUT
18771850 start_ms = time .time () * 1000.0
18781851 stop_ms = start_ms + (timeout * 1000.0 )
18791852 for i in range (int (timeout * 10 )):
18801853 if not self .is_element_present (selector ):
18811854 return True
1882- elif not self .is_element_visible (selector ):
1883- return True
18841855 now_ms = time .time () * 1000.0
18851856 if now_ms >= stop_ms :
18861857 break
@@ -1889,10 +1860,49 @@ def assert_element_not_visible(self, selector, timeout=None):
18891860 if timeout == 1 :
18901861 plural = ""
18911862 raise Exception (
1892- "Element {%s} was still visible after %s second%s!"
1863+ "Element {%s} was still present after %s second%s!"
18931864 % (selector , timeout , plural )
18941865 )
18951866
1867+ def assert_element (self , selector , timeout = None ):
1868+ """Same as assert_element_visible()"""
1869+ self .assert_element_visible (selector , timeout = timeout )
1870+ return True
1871+
1872+ def assert_element_visible (self , selector , timeout = None ):
1873+ """Same as assert_element()"""
1874+ if not timeout :
1875+ timeout = settings .SMALL_TIMEOUT
1876+ try :
1877+ self .select (selector , timeout = timeout )
1878+ except Exception :
1879+ raise Exception ("Element {%s} was not found!" % selector )
1880+ for i in range (30 ):
1881+ if self .is_element_visible (selector ):
1882+ return True
1883+ time .sleep (0.1 )
1884+ raise Exception ("Element {%s} was not visible!" % selector )
1885+
1886+ def assert_element_present (self , selector , timeout = None ):
1887+ """Assert element is present in the DOM. (Visibility NOT required)"""
1888+ if not timeout :
1889+ timeout = settings .SMALL_TIMEOUT
1890+ try :
1891+ self .select (selector , timeout = timeout )
1892+ except Exception :
1893+ raise Exception ("Element {%s} was not found!" % selector )
1894+ return True
1895+
1896+ def assert_element_absent (self , selector , timeout = None ):
1897+ """Assert element is not present in the DOM."""
1898+ self .wait_for_element_absent (selector , timeout = timeout )
1899+ return True
1900+
1901+ def assert_element_not_visible (self , selector , timeout = None ):
1902+ """Assert element is not visible on page. (May still be in DOM)"""
1903+ self .wait_for_element_not_visible (selector , timeout = timeout )
1904+ return True
1905+
18961906 def assert_element_attribute (self , selector , attribute , value = None ):
18971907 attributes = self .get_element_attributes (selector )
18981908 if attribute not in attributes :
0 commit comments