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 - Nach einem URL wurde ein Browser umgeleitet
  • Nach dem Ergebnis des Drückens einer Schaltfläche "Senden" in Python Mechanize
  • Führen Sie Python-Skript durch PHP im Browser
  • Leichter Renderer HTML mit CSS in Python
  • Selen / PhantomJS wirft Fehler auf
  • Webbrowser.get ("firefox") auf einem Mac mit Firefox "konnte nicht runnable Browser finden"
  •  "<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?

  • Matrix Transponieren in Python
  • Holen Sie sich die Indizes der N höchsten Werte in einem ndarray
  • Löschen Sie eine Spalte in einem mehrdimensionalen Array, wenn alle Elemente in dieser Spalte eine Bedingung erfüllen
  • Pythonische Art, 2D-Liste zu drucken - Python
  • Wie man Zeilen aus einer Datei in ein multidimensionales Array (oder ein Array von Listen) in Python liest
  • Zweidimensionales Array 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.