Вы можете установить тайм-аут для вашего driver.execute_script("while (1);")
вызова.
Я нашел другой пост , который может решить эту проблему.
По сути, если вы работаете в системе Unix, вы можете использовать сигнал , чтобы установить тайм-аут для вашего driver.execute_script("while (1);
вызова.
Или, если вы можете запустить его в отдельном процессе, а затем завершить процесс, если это займет слишком много времени, используя multiprocessing.Process
. Я включаю пример, который был приведен в другом посте:
import multiprocessing
import time
# bar
def bar():
for i in range(100):
print "Tick"
time.sleep(1)
if __name__ == '__main__':
# Start bar as a process
p = multiprocessing.Process(target=bar)
p.start()
# Wait for 10 seconds or until process finishes
p.join(10)
# If thread is still active
if p.is_alive():
print "running... let's kill it..."
# Terminate
p.terminate()
p.join()