Python: generic webbrowser.get (). Offen () für chrome.exe funktioniert nicht

Ich bin auf Python 2.7 (Win 8.1 x64) und ich möchte eine URL in Chrome öffnen. Als Chrome nur nativ in 3.3+ unterstützt wurde, habe ich einen generischen Anruf versucht:

import webbrowser webbrowser.get("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s").open("http://google.com") 

Der Weg ist richtig und Druck gibt mir einen Handler:

  • Python - Zeigt einen Webbrowser / iframe direkt in die App
  • Erstellen Sie ein Cookie, das dauert, bis der Browser geschlossen ist (Session Cookie?)
  • Eröffnung eines Website-Frames oder Bildes in Python
  • Python-Code im Browser ohne Jython ausführen
  • Aufruf von Chrome Webbrowser aus dem webbrowser.get () in Python
  • Python - Fortsetzung der Web-Session von urllib2 nach manueller Browser-Anmeldung
  •  "<webbrowser.GenericBrowser object at 0x0000000002D26518\>" 

    Allerdings funktioniert die open () – vorzugsweise open_new_tab ()) – Funktion nicht. Es kehrt False zurück.

    Wenn ich den Befehl ausführe

     "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://google.com" 

    In Windows laufen Dialog, es funktioniert aber, aber.


    Wenn ich Chrome als Standardbrowser setze und renne

     webbrowser.get().open("http://google.com") 

    Es funktioniert, aber es ist nicht was ich will

    Hat jemand eine Idee, was los ist?

  • Löschen Sie eine Spalte in einem mehrdimensionalen Array, wenn alle Elemente in dieser Spalte eine Bedingung erfüllen
  • So finden Sie alle Indizes über einem bestimmten Wert in einer mehrdimensionalen Python-Liste
  • Iterating über eine 2-dimensionale Python-Liste
  • Median kombiniert passt Bilder in Python
  • Lesen einer Datei in ein multidimensionales Array mit Python
  • Kopierliste in Python
  • One Solution collect form web for “Python: generic webbrowser.get (). Offen () für chrome.exe funktioniert nicht”

    Du musst im webbrowser.get Aufruf Unix-Style-Pfade verwenden:

     webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("http://google.com") 

    Dies ist, weil webbrowser intern eine shlex.split auf dem Pfad, die nur löschen Windows-Stil Pfad Trennzeichen:

     >>> cmd = "C:\\Users\\oreild1\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe %s" >>> shlex.split(cmd) ['C:Usersoreild1AppDataLocalGoogleChromeApplicationchrome.exe', '%s'] >>> cmd = "C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe % s" >>> shlex.split(cmd) ['C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe', '%s'] 

    shlex wird eigentlich das richtige tun, wenn das posix=False Keyword-Argument gegeben wird, aber webbrowser wird das nicht liefern, auch unter Windows. Das ist wohl ein Fehler im webbrowser .

    Python ist die beste Programmiersprache der Welt.