2010-12-23 11 views
8

Estoy tratando de escribir un script Python para abrir una URL, pero seguir recibiendo errores cuando trato de usarlo:problemas al abrir Firefox

import webbrowser 

firefox = webbrowser.get('mozilla') 

Este es el error:

Traceback (most recent call last): 
    File "C:\Users\Gelu\Documents\CSCI\Image URL Generator\src\Generator.py", line 8, in <module> 
    firefox = webbrowser.get('mozilla') 
    File "C:\Program Files\Python31\lib\webbrowser.py", line 53, in get 
    raise Error("could not locate runnable browser") 
webbrowser.Error: could not locate runnable browser 

¿Alguna idea de por qué esto no funciona?

Respuesta

8

Creo que estás intentando abrir Firefox, ¿verdad?

firefox = webbrowser.get('firefox') 

Works. Desde docs, tipos de navegador.

+0

De ahí que estoy confundido. Estaba leyendo algo sobre cómo se lee el archivo PATH o algo así y cómo no está en él. No estoy seguro, estoy confundido en general por qué no va a funcionar – Ryan

+0

Ryan, creo que 'mozilla' se refiere a SeaMonkey quizás? No estoy seguro. Pero Firefox es 'firefox' y es por eso que no estaba funcionando para ti. Debería funcionar ahora. – user225312

+0

Después de algunos problemas con los navegadores predeterminados esto funcionó, ¡gracias! – Ryan

13

si lo hace

import webbrowser 
print webbrowser._browsers 

obtendrá una lista de los navegadores reconocidos en su sistema.

2

Para mí, el problema era que webbrowser.py no reconocía ningún otro navegador en mi máquina de Windows. Entonces, tuve que registrar el navegador y luego lanzar una nueva pestaña.

import webbrowser 
urL='https://www.google.com' 
firefox_path="C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" 
webbrowser.register('firefox', None,webbrowser.BackgroundBrowser(firefox_path),1) 
webbrowser.get('firefox').open_new_tab(urL) 

Espero que esto ayude a alguien.

también algunas notas pitón de referencia en lo que hace, registro

webbrowser.register (nombre, constructor [, ejemplo]) ¶

registrar el nombre del tipo de navegador. Una vez que se registra un tipo de navegador, la función get() puede devolver un controlador para ese tipo de navegador. Si no se proporciona la instancia, o es None, se llamará al constructor sin parámetros para crear una instancia cuando sea necesario. Si se proporciona una instancia, el constructor nunca será llamado, y puede ser None. Este punto de entrada solo es útil si planea establecer la variable BROWSER o llamar a get() con un argumento no vacío que coincida con el nombre de un controlador que declare.

Cuestiones relacionadas