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:

  • Kratzen html generiert von javascript mit python
  • Kann man eine schöne Suppe an den Browser schicken?
  • Steuern eines Browsers mit Python auf einem Mac
  • Selen / PhantomJS wirft Fehler auf
  • Probleme beim Öffnen von Firefox
  • Eröffnung eines Website-Frames oder Bildes in Python
  •  "<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?

  • Wie man Zeilen aus einer Datei in ein multidimensionales Array (oder ein Array von Listen) in Python liest
  • So finden Sie alle Indizes über einem bestimmten Wert in einer mehrdimensionalen Python-Liste
  • Holen Sie sich die Indizes der N höchsten Werte in einem ndarray
  • Kopierliste in Python
  • Warum überschreibt die Eingabe im Array die Werte jeder Zeile
  • Drehen eines zweidimensionalen Arrays 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.