Hier ist eine zweistufiger Lösung:
- die Klassennamen des Browsers Objekts erhalten, indem Sie:
type(a).__class__
- ein Wörterbuch erstellen, wo Sie Klassennamen an einen Browser Typname einen Browser abzubilden.
Details:
Wenn Sie a = webbrowser.get('windows-default')
ausführen, können Sie die Klassennamen eines von erhalten: browser_class = type(a).__class__
.
Basierend auf below picture, können Sie die Methode Code in wie folgt gekennzeichnet:
def which_browser(browser_class):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}.get(browser_class,'firefox')
Diese Methode gibt den Browser-Typ Name auf dem Browser-Klassennamen ab, die Sie in browser_class
oben erhalten. Beachten Sie, dass ich die Methode, die zurückgegeben wird, standardmäßig mozilla, aber das ist nicht unbedingt für einen einfachen Test festlegen. Ich meine, können Sie einfach laufen:
def which_browser(browser_class):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}
können Sie dann which_browser()
Methode rufen Sie den Browser-Typ-Namen zu erhalten:
browser_name = which_browser(browser_class)
BROWSER_NAME ist vom Typ str
, wie Sie es möchten.
Sie können diese Informationen müssen oben verlinkten:
Volles Programm:
Getestet habe ich den folgenden Code nach dem, was ich habe auf meinem Linux-Rechner, wo ich nur zwei Browser installiert haben :
import webbrowser
a = webbrowser.get('windows-default')
def which_browser(b):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}.get(b,'firefox')
print which_browser(type(a).__class__)
Nach dem Ausführen des Programms, erhalte ich diese Ausgabe: firefox
.
Was gibt 'print a.name' zurück – Dobz
webbrowser.WindowsDefault Objekt bei 0x024643B0 – JeremyK