@@ -94,14 +94,13 @@ def main():
9494 )
9595 driver .execute_script ("arguments[0].click();" , kernel_button )
9696 driver .switch_to .active_element .send_keys (Keys .TAB )
97- time .sleep (2 )
97+ time .sleep (1 )
9898 actions .send_keys (f"{ args .kernel } " ).perform ()
99- time .sleep (2 )
99+ time .sleep (1 )
100100 actions .send_keys (Keys .TAB ).perform ()
101- time .sleep (2 )
101+ time .sleep (1 )
102102 actions .send_keys (Keys .ENTER ).perform ()
103- time .sleep (2 )
104- time .sleep (0.5 )
103+ time .sleep (1 )
105104
106105 # This will run all the cells of the chosen notebook
107106 if args .driver == "chrome" or args .driver == "firefox" :
@@ -110,7 +109,6 @@ def main():
110109 focused_cell = driver .find_element (
111110 By .CSS_SELECTOR , ".jp-Notebook-cell.jp-mod-selected"
112111 )
113- print (focused_cell .text )
114112 editor_divs = focused_cell .find_elements (
115113 By .CSS_SELECTOR , ".jp-InputArea-editor div"
116114 )
@@ -132,7 +130,7 @@ def main():
132130 )
133131 input_box .click ()
134132 input_box .send_keys (f"{ args .stdin } " )
135- time .sleep (10 )
133+ time .sleep (1 )
136134 input_box .send_keys (Keys .CONTROL , Keys .ENTER )
137135 next_cell = focused_cell .find_element (
138136 By .XPATH ,
@@ -141,14 +139,32 @@ def main():
141139 driver .execute_script (
142140 "arguments[0].scrollIntoView({block:'center'});" , next_cell
143141 )
144- print (next_cell .text )
145142 next_cell .click ()
143+ while True :
144+ spans = driver .find_elements (By .CSS_SELECTOR , "span.jp-StatusBar-TextItem" )
145+ status_span = spans [2 ]
146+ text = status_span .text
147+
148+ if "Idle" in text :
149+ break
150+ time .sleep (0.01 )
151+ print (focused_cell .text )
152+ focused_cell = next_cell
146153 run_menu = wait .until (
147154 EC .element_to_be_clickable ((By .XPATH , "//li[normalize-space()='Run']" ))
148155 )
149- actions .move_to_element (run_menu ).pause (0.1 ).click ().perform ()
150- actions .send_keys (Keys .DOWN ).send_keys (Keys .ENTER ).perform ()
151- time .sleep (1.0 )
156+ actions .move_to_element (run_menu ).pause (0.05 ).click ().perform ()
157+ actions .send_keys (Keys .DOWN ).send_keys (Keys .ENTER ).pause (0.1 ).perform ()
158+ if not cell_is_waiting_for_input (driver ):
159+ while True :
160+ spans = driver .find_elements (By .CSS_SELECTOR , "span.jp-StatusBar-TextItem" )
161+ status_span = spans [2 ]
162+ text = status_span .text
163+
164+ if "Idle" in text :
165+ print (focused_cell .text )
166+ break
167+ time .sleep (0.01 )
152168
153169 elif args .driver == "safari" :
154170 print ("Running all cells using Shift+Enter..." )
0 commit comments