Scopo | Il modulo webbrowser si usa per visualizzare pagine web ai propri utenti. |
Versione Python | 2.1.3 e superiore |
A partire dal 1 gennaio 2021 le versioni 2.x di Python non sono piu' supportate. Ti invito a consultare la corrispondente versione 3.x dell'articolo per il modulo webbrowser
Il modulo webbrowser contiene funzioni per aprire URL in un browser. Il modulo contiene un registro dei browser disponibili, nel caso siano disponibili diverse opzioni nel sistema. La scelta può anche essere controllata tramite la variabile di ambiente BROWSER .
Per aprire una pagina nel browser, si usa la funzione
open()
import webbrowser
webbrowser.open('http://docs.python.org/lib/module-webbrowser.html')
L'indirizzo viene aperto in una finestra del browser, quindi quella finestra viene portata in primo piano. La documentazione dice che verrà riusata una finestra esistente, se possibile, ma il reale comportamente potrebbe dipendere dalle impostazioni del browser. Usando Firefox nel mio (Doug Hellmann - n.d.t.) Mac, veniva sempre creata una nuova finestra.
Se si desidera che venga sempre usata una nuova finestra, si usa
open_new()
.
import webbrowser
webbrowser.open_new('http://docs.python.org/lib/module-webbrowser.html')
Se si vuole invece creare una nuova scheda, si usa
open_new_tab()
Se per una qualche ragione la propria applicazione deve usare uno specifico browser, si può raggiungere l'insieme dei controller per i browser registrati usando la funzione
get()
. Il controller del browser contiene i metodi
open()
,
open_new()
ed
open_new_tab()
. Questo esempio forza l'uso del browser lynx.
import webbrowser
b = webbrowser.get('lynx')
b.open('http://docs.python.org/lib/module-webbrowser.html')
Si faccia riferimento alla documentazione del modulo per un elenco dei tipi di browser disponibili.
Gli utenti possono controllare il modulo all'esterno della propria applicazione impostando la variabile d'ambiente
BROWSER
con i nomi dei browser o dei comandi da provare. Il valore dovrebbe consistere in una seria di nomi di browser separati da
os.pathsep
. Se il nome comprende
%s
, il nome viene intepretato come un comando letterale ed eseguito direttamente rimpiazzando
%s
con l'indirizzo. Altrimenti il nome viene passato a
get()
per ottenere un oggetto controller dal registro.
Ad esempio, il seguente comando apre la pagina web in lynx, presupponendo che sia disponibile, a prescindere dal fatto che altri browser siano registrati.
$ BROWSER=lynx $ python webbrowser_open.py
Se nessuno dei nomi in BROWSER funziona, webbrowser ritorna al suo comportamento predefinito.
Tutte le funzionalità del modulo webbrowser sono disponibili tramite la riga di comando così come all'interno del proprio programma Python.
$ python -m webbrowser Usage: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/webbrowser.py [-n | -t] url -n: open new window -t: open new tab
Vedere anche: