Python: generic webbrowser.get (). Open () для chrome.exe не работает

Я нахожусь на Python 2.7 (Win 8.1 x64), и я хочу открыть URL-адрес в Chrome. Поскольку Chrome поддерживается только в 3.3+, я пытался использовать общий вызов:

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

Путь правильный, и печать дает мне обработчик:

  • Python: наружный цикл «break»
  • Получение соответствующего модуля из функции
  • Установка Pymedia в Windows с Python 2.6
  • Как я могу манипулировать битами в Python?
  • Как я могу читать две строки из файла за раз, используя python
  • Как определить, является ли целое четным или нечетным
  •  "<webbrowser.GenericBrowser object at 0x0000000002D26518\>" 

    Однако функция open () – предпочтительно open_new_tab ()) не работает. Он возвращает False.

    Если я запустил команду

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

    в диалоговом окне запуска Windows это действительно работает.


    Если я устанавливаю Chrome в качестве стандартного браузера и запускаю

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

    он работает, но это не то, что я хочу.

    Кто-нибудь знает, что происходит не так?

  • Сколько байтов имеет строка
  • как сжато создать временный файл, который является копией другого файла в python
  • Логические операторы в Python
  • Как запускать программы в python2 и python3
  • Использование расширений с селеном (Python)
  • Имитация стиля C для петель в python
  • 2 Solutions collect form web for “Python: generic webbrowser.get (). Open () для chrome.exe не работает”

    Вы должны использовать пути стиля unix в вызове webbrowser.get :

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

    Это связано с тем, что webbrowser внутренне выполняет shlex.split на пути, который просто стирает разделители пути в стиле Windows:

     >>> 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 самом деле будет делать правильные вещи здесь, если задан posix=False , но webbrowser не будет предоставлять это, даже в Windows. Это, возможно, ошибка в webbrowser .

    Следуя приведенным выше рекомендациям и работая над Windows, чтобы включить Firefox, я изменил (и не комментировал) следующую строку в файле конфигурации (обратите внимание на% s в конце):

    c.NotebookApp.browser = 'C: / Program Files (x86) / Mozilla Firefox / firefox.exe% s'

    Это сработало для меня. благодаря

    Python - лучший язык программирования в мире.