2016-03-31 13 views
2

Ich verwende die folgende, die Situation zu handhaben, wo Ctrl +C verwendet wird, eine laufende Python-Skript zu beenden.Selen: Beenden Sie Python-Skript ohne Schließung Browser

except KeyboardInterrupt: 
    print "ABORTED" 

Dies ist jedoch endet auch meine Selenium WebDriver Browser.

Gibt es eine Möglichkeit, das Skript zu beenden und den Browser am Leben zu halten, damit ich ihn weiter verwenden kann?

Was in der Regel stattdessen ich tun, ist das Skript über Ctrl +Z zu pausieren. Dies führt leider oft dazu, dass der Browser einfriert und nicht antwortet.

+0

also rufen Sie nicht einfach driver.quit() oder? –

+0

@ChrisHawkes, ich denke OP verwendet 'driver.quit()' nicht. 'sys.exit()' Schließen Sie die Browser-Sitzung trotz Aufruf von 'driver.quit()' – Andersson

+0

@Andersson True, obwohl ich glaube nicht, dass es wichtig ist, wenn 'sys.exit()' da ist, weil Strg + C machen wird alles sowieso verlassen. – Winterflags

Antwort

2

Sie können STRG + C + sys.exit() durch quit() Methode ersetzen, um Python Skript zu beenden, ohne die Browsersitzung zu schließen. Verwenden Sie einfach folgendes Formular:

user_choice = raw_input('Please click ENTER button to close application') 
if not user_choice: 
    print "ABORTED" 
    quit() 
+0

Warum verwenden Sie 'Strg + C'? Ist es zwingend erforderlich, dass Sie das Skript auf diese Weise beenden? – Andersson

+0

Nun, ich denke, es ist nicht zwingend erforderlich, Ctr + C zu verwenden. Wenn während des Skriptlaufs ein anderer Tastendruck abgefangen werden kann, könnte das Problem vermieden werden. – Winterflags

+0

Sie können es schließen, indem Sie die Eingabetaste drücken. Überprüfen Sie die aktualisierte Antwort – Andersson