2021-07-26 19:11:55 -03:00
|
|
|
:mod:`webbrowser` --- Convenient web-browser controller
|
2007-08-15 11:28:22 -03:00
|
|
|
=======================================================
|
|
|
|
|
|
|
|
.. module:: webbrowser
|
2021-07-26 19:11:55 -03:00
|
|
|
:synopsis: Easy-to-use controller for web browsers.
|
2016-06-11 16:02:54 -03:00
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. moduleauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
|
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
|
|
|
2011-01-27 16:38:46 -04:00
|
|
|
**Source code:** :source:`Lib/webbrowser.py`
|
|
|
|
|
|
|
|
--------------
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
The :mod:`webbrowser` module provides a high-level interface to allow displaying
|
2021-07-26 19:11:55 -03:00
|
|
|
web-based documents to users. Under most circumstances, simply calling the
|
2009-07-26 12:02:41 -03:00
|
|
|
:func:`.open` function from this module will do the right thing.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Under Unix, graphical browsers are preferred under X11, but text-mode browsers
|
|
|
|
will be used if graphical browsers are not available or an X11 display isn't
|
|
|
|
available. If text-mode browsers are used, the calling process will block until
|
|
|
|
the user exits the browser.
|
|
|
|
|
2014-04-17 00:43:34 -03:00
|
|
|
If the environment variable :envvar:`BROWSER` exists, it is interpreted as the
|
2014-05-20 13:58:38 -03:00
|
|
|
:data:`os.pathsep`-separated list of browsers to try ahead of the platform
|
2014-04-17 00:43:34 -03:00
|
|
|
defaults. When the value of a list part contains the string ``%s``, then it is
|
|
|
|
interpreted as a literal browser command line to be used with the argument URL
|
|
|
|
substituted for ``%s``; if the part does not contain ``%s``, it is simply
|
|
|
|
interpreted as the name of the browser to launch. [1]_
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
For non-Unix platforms, or when a remote browser is available on Unix, the
|
|
|
|
controlling process will not wait for the user to finish with the browser, but
|
|
|
|
allow the remote browser to maintain its own windows on the display. If remote
|
|
|
|
browsers are not available on Unix, the controlling process will launch a new
|
|
|
|
browser and wait.
|
|
|
|
|
|
|
|
The script :program:`webbrowser` can be used as a command-line interface for the
|
2016-04-14 23:14:19 -03:00
|
|
|
module. It accepts a URL as the argument. It accepts the following optional
|
2010-11-18 12:38:46 -04:00
|
|
|
parameters: ``-n`` opens the URL in a new browser window, if possible;
|
|
|
|
``-t`` opens the URL in a new browser page ("tab"). The options are,
|
2012-08-12 12:34:00 -03:00
|
|
|
naturally, mutually exclusive. Usage example::
|
|
|
|
|
2021-07-30 10:54:46 -03:00
|
|
|
python -m webbrowser -t "https://www.python.org"
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2022-08-02 16:00:41 -03:00
|
|
|
.. include:: ../includes/wasm-notavail.rst
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
The following exception is defined:
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: Error
|
|
|
|
|
|
|
|
Exception raised when a browser control error occurs.
|
|
|
|
|
|
|
|
The following functions are defined:
|
|
|
|
|
|
|
|
|
2009-09-16 12:58:14 -03:00
|
|
|
.. function:: open(url, new=0, autoraise=True)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
Merged revisions 74074,74077,74111,74188,74192-74193,74200,74252-74253,74258-74261 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74074 | georg.brandl | 2009-07-18 05:03:10 -0400 (Sat, 18 Jul 2009) | 1 line
#6513: fix example code: warning categories are classes, not instances.
........
r74077 | georg.brandl | 2009-07-18 05:43:40 -0400 (Sat, 18 Jul 2009) | 1 line
#6489: fix an ambiguity in getiterator() documentation.
........
r74111 | benjamin.peterson | 2009-07-20 09:30:10 -0400 (Mon, 20 Jul 2009) | 1 line
remove docs for deprecated -p option
........
r74188 | benjamin.peterson | 2009-07-23 10:25:31 -0400 (Thu, 23 Jul 2009) | 1 line
use bools
........
r74192 | georg.brandl | 2009-07-24 12:28:38 -0400 (Fri, 24 Jul 2009) | 1 line
Fix arg types of et#.
........
r74193 | georg.brandl | 2009-07-24 12:46:38 -0400 (Fri, 24 Jul 2009) | 1 line
Dont put "void" in signature for nullary functions.
........
r74200 | georg.brandl | 2009-07-25 09:02:15 -0400 (Sat, 25 Jul 2009) | 1 line
#6571: add index entries for more operators.
........
r74252 | georg.brandl | 2009-07-29 12:06:31 -0400 (Wed, 29 Jul 2009) | 1 line
#6593: fix link targets.
........
r74253 | georg.brandl | 2009-07-29 12:09:17 -0400 (Wed, 29 Jul 2009) | 1 line
#6591: add reference to ioctl in fcntl module for platforms other than Windows.
........
r74258 | georg.brandl | 2009-07-29 12:57:05 -0400 (Wed, 29 Jul 2009) | 1 line
Add a link to readline, and mention IPython and bpython.
........
r74259 | georg.brandl | 2009-07-29 13:07:21 -0400 (Wed, 29 Jul 2009) | 1 line
Fix some markup and small factual glitches found by M. Markert.
........
r74260 | georg.brandl | 2009-07-29 13:15:20 -0400 (Wed, 29 Jul 2009) | 1 line
Fix a few markup glitches.
........
r74261 | georg.brandl | 2009-07-29 13:50:25 -0400 (Wed, 29 Jul 2009) | 1 line
Rewrite the section about classes a bit; mostly tidbits, and a larger update to the section about "private" variables to reflect the Pythonic consensus better.
........
2009-07-29 16:54:39 -03:00
|
|
|
Display *url* using the default browser. If *new* is 0, the *url* is opened
|
|
|
|
in the same browser window if possible. If *new* is 1, a new browser window
|
|
|
|
is opened if possible. If *new* is 2, a new browser page ("tab") is opened
|
|
|
|
if possible. If *autoraise* is ``True``, the window is raised if possible
|
|
|
|
(note that under many window managers this will occur regardless of the
|
|
|
|
setting of this variable).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70712 | benjamin.peterson | 2009-03-30 10:15:38 -0500 (Mon, 30 Mar 2009) | 1 line
don't rely on the order dict repr #5605
........
r70714 | brett.cannon | 2009-03-30 10:20:53 -0500 (Mon, 30 Mar 2009) | 1 line
Add an entry to developers.txt.
........
r70764 | martin.v.loewis | 2009-03-30 17:06:33 -0500 (Mon, 30 Mar 2009) | 2 lines
Add several VM developers.
........
r70765 | georg.brandl | 2009-03-30 17:09:34 -0500 (Mon, 30 Mar 2009) | 1 line
#5199: make warning about vars() assignment more visible.
........
r70769 | andrew.kuchling | 2009-03-30 17:29:53 -0500 (Mon, 30 Mar 2009) | 1 line
Remove comment
........
r70770 | andrew.kuchling | 2009-03-30 17:30:20 -0500 (Mon, 30 Mar 2009) | 1 line
Add several items and placeholders
........
r70771 | andrew.kuchling | 2009-03-30 17:31:11 -0500 (Mon, 30 Mar 2009) | 1 line
Many edits
........
r70773 | georg.brandl | 2009-03-30 17:43:00 -0500 (Mon, 30 Mar 2009) | 1 line
#5039: make it clear that the impl. note refers to CPython.
........
r70776 | andrew.kuchling | 2009-03-30 18:08:24 -0500 (Mon, 30 Mar 2009) | 1 line
typo fix
........
r70777 | andrew.kuchling | 2009-03-30 18:09:46 -0500 (Mon, 30 Mar 2009) | 1 line
Add more items
........
r70788 | andrew.kuchling | 2009-03-30 20:21:01 -0500 (Mon, 30 Mar 2009) | 1 line
Add various items
........
r70789 | georg.brandl | 2009-03-30 20:25:15 -0500 (Mon, 30 Mar 2009) | 1 line
Fix a wrong struct field assignment (docstring as closure).
........
r70824 | georg.brandl | 2009-03-31 10:43:20 -0500 (Tue, 31 Mar 2009) | 1 line
#5519: remove reference to Kodos, which seems dead.
........
r70828 | georg.brandl | 2009-03-31 10:50:16 -0500 (Tue, 31 Mar 2009) | 1 line
#5581: fget argument of abstractproperty is optional as well.
........
r70832 | georg.brandl | 2009-03-31 11:31:11 -0500 (Tue, 31 Mar 2009) | 1 line
#1386675: specify WindowsError as the exception, because it has a winerror attribute that EnvironmentError doesnt have.
........
r70836 | georg.brandl | 2009-03-31 11:50:25 -0500 (Tue, 31 Mar 2009) | 1 line
#5417: replace references to undocumented functions by ones to documented functions.
........
r70842 | georg.brandl | 2009-03-31 12:13:06 -0500 (Tue, 31 Mar 2009) | 1 line
#970783: document PyObject_Generic[GS]etAttr.
........
r70851 | georg.brandl | 2009-03-31 13:26:55 -0500 (Tue, 31 Mar 2009) | 1 line
#837577: note cryptic return value of spawn*e on invalid env dicts.
........
r70855 | georg.brandl | 2009-03-31 13:30:37 -0500 (Tue, 31 Mar 2009) | 1 line
#5245: note that PyRun_SimpleString doesnt return on SystemExit.
........
r70857 | georg.brandl | 2009-03-31 13:33:10 -0500 (Tue, 31 Mar 2009) | 1 line
#5227: note that Py_Main doesnt return on SystemExit.
........
r70866 | georg.brandl | 2009-03-31 14:06:57 -0500 (Tue, 31 Mar 2009) | 1 line
#4882: document named group behavior a bit better.
........
r70867 | georg.brandl | 2009-03-31 14:10:35 -0500 (Tue, 31 Mar 2009) | 1 line
#1096310: document usage of sys.__std*__ a bit better.
........
r70868 | georg.brandl | 2009-03-31 14:12:17 -0500 (Tue, 31 Mar 2009) | 1 line
#5190: export make_option in __all__.
........
r70869 | georg.brandl | 2009-03-31 14:14:42 -0500 (Tue, 31 Mar 2009) | 1 line
Fix-up unwanted change.
........
r70870 | georg.brandl | 2009-03-31 14:26:24 -0500 (Tue, 31 Mar 2009) | 1 line
#4411: document mro() and __mro__. (I hope I got it right.)
........
r70871 | georg.brandl | 2009-03-31 14:30:56 -0500 (Tue, 31 Mar 2009) | 1 line
#5618: fix typo.
........
r70872 | r.david.murray | 2009-03-31 14:31:17 -0500 (Tue, 31 Mar 2009) | 3 lines
Delete out-of-date and little-known README from the test
directory by consensus of devs at pycon sprint.
........
r70883 | georg.brandl | 2009-03-31 15:41:08 -0500 (Tue, 31 Mar 2009) | 1 line
#1674032: return value of flag from Event.wait(). OKed by Guido.
........
r70885 | tarek.ziade | 2009-03-31 15:48:31 -0500 (Tue, 31 Mar 2009) | 1 line
using log.warn for sys.stderr
........
r70893 | georg.brandl | 2009-03-31 15:56:32 -0500 (Tue, 31 Mar 2009) | 1 line
#1530012: move TQS section before raw strings.
........
r70894 | benjamin.peterson | 2009-03-31 16:06:30 -0500 (Tue, 31 Mar 2009) | 1 line
take the usual lock precautions around _active_limbo_lock
........
r70896 | georg.brandl | 2009-03-31 16:15:33 -0500 (Tue, 31 Mar 2009) | 1 line
#5598: document DocFileSuite *args argument.
........
r70897 | benjamin.peterson | 2009-03-31 16:34:42 -0500 (Tue, 31 Mar 2009) | 1 line
fix Thread.ident when it is the main thread or a dummy thread #5632
........
r70903 | georg.brandl | 2009-03-31 16:45:18 -0500 (Tue, 31 Mar 2009) | 1 line
#1676135: remove trailing slashes from --prefix argument.
........
r70905 | georg.brandl | 2009-03-31 17:03:40 -0500 (Tue, 31 Mar 2009) | 1 line
#5563: more documentation for bdist_msi.
........
r70906 | georg.brandl | 2009-03-31 17:11:53 -0500 (Tue, 31 Mar 2009) | 1 line
#1651995: fix _convert_ref for non-ASCII characters.
........
r70907 | georg.brandl | 2009-03-31 17:18:19 -0500 (Tue, 31 Mar 2009) | 1 line
#3427: document correct return type for urlopen().info().
........
r70915 | georg.brandl | 2009-03-31 17:40:16 -0500 (Tue, 31 Mar 2009) | 1 line
#5018: remove confusing paragraph.
........
r70927 | georg.brandl | 2009-03-31 18:01:27 -0500 (Tue, 31 Mar 2009) | 1 line
Dont shout to users.
........
r70933 | georg.brandl | 2009-03-31 19:04:33 -0500 (Tue, 31 Mar 2009) | 2 lines
Issue #5635: Fix running test_sys with tracing enabled.
........
r70951 | georg.brandl | 2009-04-01 09:02:27 -0500 (Wed, 01 Apr 2009) | 1 line
Add Maksim, who worked on several issues at the sprint.
........
r70960 | jesse.noller | 2009-04-01 11:42:19 -0500 (Wed, 01 Apr 2009) | 1 line
Issue 3270: document Listener address restrictions on windows
........
r70962 | brett.cannon | 2009-04-01 12:07:16 -0500 (Wed, 01 Apr 2009) | 2 lines
Ron DuPlain was given commit privileges at PyCon 2009 to work on 3to2.
........
r70963 | georg.brandl | 2009-04-01 12:46:01 -0500 (Wed, 01 Apr 2009) | 1 line
#5655: fix docstring oversight.
........
r70964 | brett.cannon | 2009-04-01 12:52:13 -0500 (Wed, 01 Apr 2009) | 2 lines
Paul Kippes was given commit privileges to work on 3to2.
........
r70998 | georg.brandl | 2009-04-01 16:54:21 -0500 (Wed, 01 Apr 2009) | 1 line
In Pdb, stop assigning values to __builtin__._ which interferes with the one commonly installed by gettext.
........
r71001 | brett.cannon | 2009-04-01 18:01:12 -0500 (Wed, 01 Apr 2009) | 3 lines
Add my initials to Misc/developers.txt. Names are now sorted by number of
characters in the person's name.
........
r71006 | georg.brandl | 2009-04-01 18:32:17 -0500 (Wed, 01 Apr 2009) | 1 line
Cache the f_locals dict of the current frame, since every access to frame.f_locals overrides its contents with the real locals which undoes modifications made by the debugging user.
........
r71008 | andrew.kuchling | 2009-04-01 19:02:14 -0500 (Wed, 01 Apr 2009) | 1 line
Typo fix
........
r71010 | benjamin.peterson | 2009-04-01 19:11:52 -0500 (Wed, 01 Apr 2009) | 1 line
fix markup
........
r71011 | benjamin.peterson | 2009-04-01 19:12:47 -0500 (Wed, 01 Apr 2009) | 1 line
this should be :noindex:
........
r71019 | georg.brandl | 2009-04-01 21:00:01 -0500 (Wed, 01 Apr 2009) | 1 line
Fix test_doctest, missed two assignments to curframe.
........
r71037 | r.david.murray | 2009-04-01 23:34:04 -0500 (Wed, 01 Apr 2009) | 6 lines
Clarify that datetime strftime does not produce leap seconds and datetime
strptime does not accept it in the strftime behavior section of the
datetime docs.
Closes issue 2568.
........
r71056 | georg.brandl | 2009-04-02 12:43:07 -0500 (Thu, 02 Apr 2009) | 2 lines
Actually the displayhook should print the repr.
........
r71094 | vinay.sajip | 2009-04-03 05:23:18 -0500 (Fri, 03 Apr 2009) | 1 line
Added warning about logging use from asynchronous signal handlers.
........
r71101 | andrew.kuchling | 2009-04-03 16:43:00 -0500 (Fri, 03 Apr 2009) | 1 line
Add some items
........
r71102 | andrew.kuchling | 2009-04-03 16:44:49 -0500 (Fri, 03 Apr 2009) | 1 line
Fix 'the the'; grammar fix
........
r71103 | andrew.kuchling | 2009-04-03 16:45:29 -0500 (Fri, 03 Apr 2009) | 1 line
Fix 'the the' duplication
........
r71106 | vinay.sajip | 2009-04-03 16:58:16 -0500 (Fri, 03 Apr 2009) | 1 line
Clarified warning about logging use from asynchronous signal handlers.
........
r71119 | raymond.hettinger | 2009-04-04 00:37:47 -0500 (Sat, 04 Apr 2009) | 1 line
Add helpful link.
........
r71123 | r.david.murray | 2009-04-04 01:39:56 -0500 (Sat, 04 Apr 2009) | 2 lines
Fix error in description of 'oct' (issue 5678).
........
r71149 | georg.brandl | 2009-04-04 08:42:39 -0500 (Sat, 04 Apr 2009) | 1 line
#5642: clarify map() compatibility to the builtin.
........
r71150 | georg.brandl | 2009-04-04 08:45:49 -0500 (Sat, 04 Apr 2009) | 1 line
#5601: clarify that webbrowser is not meant for file names.
........
r71203 | benjamin.peterson | 2009-04-04 18:46:34 -0500 (Sat, 04 Apr 2009) | 1 line
note how using iter* are unsafe while mutating and document iter(dict)
........
r71212 | georg.brandl | 2009-04-05 05:24:20 -0500 (Sun, 05 Apr 2009) | 1 line
#1742837: expand HTTP server docs, and fix SocketServer ones to document methods as methods, not functions.
........
r71214 | georg.brandl | 2009-04-05 05:29:57 -0500 (Sun, 05 Apr 2009) | 1 line
Normalize spelling of Mac OS X.
........
r71215 | georg.brandl | 2009-04-05 05:32:26 -0500 (Sun, 05 Apr 2009) | 1 line
Avoid sure signs of a diseased mind.
........
r71216 | georg.brandl | 2009-04-05 05:41:02 -0500 (Sun, 05 Apr 2009) | 1 line
#1718017: document the relation of os.path and the posixpath, ntpath etc. modules better.
........
r71217 | georg.brandl | 2009-04-05 05:48:47 -0500 (Sun, 05 Apr 2009) | 1 line
#1726172: dont raise an unexpected IndexError if a voidresp() call has an empty response.
........
r71221 | vinay.sajip | 2009-04-05 06:06:24 -0500 (Sun, 05 Apr 2009) | 1 line
Issue #5695: Moved logging.captureWarnings() call inside with statement in WarningsTest.test_warnings.
........
r71240 | georg.brandl | 2009-04-05 09:40:06 -0500 (Sun, 05 Apr 2009) | 1 line
#5370: doc update about unpickling objects with custom __getattr__ etc. methods.
........
2009-04-05 16:13:16 -03:00
|
|
|
Note that on some platforms, trying to open a filename using this function,
|
|
|
|
may work and start the operating system's associated program. However, this
|
|
|
|
is neither supported nor portable.
|
|
|
|
|
2019-06-27 14:47:59 -03:00
|
|
|
.. audit-event:: webbrowser.open url webbrowser.open
|
2019-06-24 12:42:54 -03:00
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
.. function:: open_new(url)
|
|
|
|
|
|
|
|
Open *url* in a new window of the default browser, if possible, otherwise, open
|
|
|
|
*url* in the only browser window.
|
|
|
|
|
|
|
|
.. function:: open_new_tab(url)
|
|
|
|
|
|
|
|
Open *url* in a new page ("tab") of the default browser, if possible, otherwise
|
|
|
|
equivalent to :func:`open_new`.
|
|
|
|
|
|
|
|
|
2009-09-16 12:58:14 -03:00
|
|
|
.. function:: get(using=None)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2009-09-16 12:58:14 -03:00
|
|
|
Return a controller object for the browser type *using*. If *using* is
|
|
|
|
``None``, return a controller for a default browser appropriate to the
|
|
|
|
caller's environment.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2017-02-25 00:47:38 -04:00
|
|
|
.. function:: register(name, constructor, instance=None, *, preferred=False)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Register the browser type *name*. Once a browser type is registered, the
|
|
|
|
:func:`get` function can return a controller for that browser type. If
|
|
|
|
*instance* is not provided, or is ``None``, *constructor* will be called without
|
|
|
|
parameters to create an instance when needed. If *instance* is provided,
|
|
|
|
*constructor* will never be called, and may be ``None``.
|
|
|
|
|
2017-02-25 00:47:38 -04:00
|
|
|
Setting *preferred* to ``True`` makes this browser a preferred result for
|
2017-02-27 12:13:41 -04:00
|
|
|
a :func:`get` call with no argument. Otherwise, this entry point is only
|
2017-02-25 00:47:38 -04:00
|
|
|
useful if you plan to either set the :envvar:`BROWSER` variable or call
|
|
|
|
:func:`get` with a nonempty argument matching the name of a handler you
|
|
|
|
declare.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2017-02-27 12:13:41 -04:00
|
|
|
.. versionchanged:: 3.7
|
|
|
|
*preferred* keyword-only parameter was added.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
A number of browser types are predefined. This table gives the type names that
|
|
|
|
may be passed to the :func:`get` function and the corresponding instantiations
|
|
|
|
for the controller classes, all defined in this module.
|
|
|
|
|
2011-12-21 10:31:36 -04:00
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| Type Name | Class Name | Notes |
|
|
|
|
+========================+=========================================+=======+
|
|
|
|
| ``'mozilla'`` | :class:`Mozilla('mozilla')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'firefox'`` | :class:`Mozilla('mozilla')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
2023-03-31 12:02:47 -03:00
|
|
|
| ``'epiphany'`` | :class:`Epiphany('epiphany')` | |
|
2011-12-21 10:31:36 -04:00
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'kfmclient'`` | :class:`Konqueror()` | \(1) |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'konqueror'`` | :class:`Konqueror()` | \(1) |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'kfm'`` | :class:`Konqueror()` | \(1) |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'opera'`` | :class:`Opera()` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'links'`` | :class:`GenericBrowser('links')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'elinks'`` | :class:`Elinks('elinks')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'lynx'`` | :class:`GenericBrowser('lynx')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'w3m'`` | :class:`GenericBrowser('w3m')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'windows-default'`` | :class:`WindowsDefault` | \(2) |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
2021-09-03 13:21:03 -03:00
|
|
|
| ``'macosx'`` | :class:`MacOSXOSAScript('default')` | \(3) |
|
2011-12-21 10:31:36 -04:00
|
|
|
+------------------------+-----------------------------------------+-------+
|
2021-09-03 13:21:03 -03:00
|
|
|
| ``'safari'`` | :class:`MacOSXOSAScript('safari')` | \(3) |
|
2012-03-31 12:44:33 -03:00
|
|
|
+------------------------+-----------------------------------------+-------+
|
2011-12-21 10:31:36 -04:00
|
|
|
| ``'google-chrome'`` | :class:`Chrome('google-chrome')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'chrome'`` | :class:`Chrome('chrome')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'chromium'`` | :class:`Chromium('chromium')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
|
|
|
| ``'chromium-browser'`` | :class:`Chromium('chromium-browser')` | |
|
|
|
|
+------------------------+-----------------------------------------+-------+
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Notes:
|
|
|
|
|
|
|
|
(1)
|
|
|
|
"Konqueror" is the file manager for the KDE desktop environment for Unix, and
|
|
|
|
only makes sense to use if KDE is running. Some way of reliably detecting KDE
|
|
|
|
would be nice; the :envvar:`KDEDIR` variable is not sufficient. Note also that
|
|
|
|
the name "kfm" is used even when using the :program:`konqueror` command with KDE
|
|
|
|
2 --- the implementation selects the best strategy for running Konqueror.
|
|
|
|
|
|
|
|
(2)
|
|
|
|
Only on Windows platforms.
|
|
|
|
|
|
|
|
(3)
|
2021-09-22 14:33:36 -03:00
|
|
|
Only on macOS platform.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-01-17 20:32:07 -04:00
|
|
|
.. versionadded:: 3.3
|
|
|
|
Support for Chrome/Chromium has been added.
|
|
|
|
|
2023-03-31 12:02:47 -03:00
|
|
|
.. versionchanged:: 3.12
|
|
|
|
Support for several obsolete browsers has been removed.
|
|
|
|
Removed browsers include Grail, Mosaic, Netscape, Galeon,
|
|
|
|
Skipstone, Iceape, and Firefox versions 35 and below.
|
|
|
|
|
2021-09-03 13:21:03 -03:00
|
|
|
.. deprecated-removed:: 3.11 3.13
|
|
|
|
:class:`MacOSX` is deprecated, use :class:`MacOSXOSAScript` instead.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
Here are some simple examples::
|
|
|
|
|
2021-07-30 10:54:46 -03:00
|
|
|
url = 'https://docs.python.org/'
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2009-01-03 17:18:54 -04:00
|
|
|
# Open URL in a new tab, if a browser window is already open.
|
2012-01-17 20:32:07 -04:00
|
|
|
webbrowser.open_new_tab(url)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
# Open URL in new window, raising the window if possible.
|
|
|
|
webbrowser.open_new(url)
|
|
|
|
|
|
|
|
|
|
|
|
.. _browser-controllers:
|
|
|
|
|
|
|
|
Browser Controller Objects
|
|
|
|
--------------------------
|
|
|
|
|
Merged revisions 70578,70599,70641-70642,70650,70660-70661,70674,70691,70697-70698,70700,70704 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70578 | benjamin.peterson | 2009-03-23 22:24:56 -0500 (Mon, 23 Mar 2009) | 1 line
this is better written using assertRaises
........
r70599 | benjamin.peterson | 2009-03-25 16:42:51 -0500 (Wed, 25 Mar 2009) | 1 line
this can be slightly less ugly
........
r70641 | guilherme.polo | 2009-03-27 16:43:08 -0500 (Fri, 27 Mar 2009) | 3 lines
Adjusted _tkinter to compile without warnings when WITH_THREAD is not
defined (part of issue #5035)
........
r70642 | georg.brandl | 2009-03-27 19:48:48 -0500 (Fri, 27 Mar 2009) | 1 line
Fix typo.
........
r70650 | benjamin.peterson | 2009-03-28 14:16:10 -0500 (Sat, 28 Mar 2009) | 1 line
give os.symlink and os.link() better parameter names #5564
........
r70660 | georg.brandl | 2009-03-28 14:52:58 -0500 (Sat, 28 Mar 2009) | 1 line
Switch to fixed Sphinx version.
........
r70661 | georg.brandl | 2009-03-28 14:57:36 -0500 (Sat, 28 Mar 2009) | 2 lines
Add section numbering to some of the larger subdocuments.
........
r70674 | guilherme.polo | 2009-03-29 05:19:05 -0500 (Sun, 29 Mar 2009) | 1 line
Typo fix.
........
r70691 | raymond.hettinger | 2009-03-29 13:51:11 -0500 (Sun, 29 Mar 2009) | 1 line
Make life easier for non-CPython implementations.
........
r70697 | benjamin.peterson | 2009-03-29 16:22:35 -0500 (Sun, 29 Mar 2009) | 1 line
this has been fixed since 2.6 (I love removing these)
........
r70698 | benjamin.peterson | 2009-03-29 16:31:05 -0500 (Sun, 29 Mar 2009) | 1 line
thanks to guido's bytecode verifier, this is fixed
........
r70700 | benjamin.peterson | 2009-03-29 16:50:14 -0500 (Sun, 29 Mar 2009) | 1 line
use the awesome new status iterator
........
r70704 | benjamin.peterson | 2009-03-29 21:49:32 -0500 (Sun, 29 Mar 2009) | 1 line
there's actually three methods here #5600
........
2009-03-30 11:51:56 -03:00
|
|
|
Browser controllers provide these methods which parallel three of the
|
|
|
|
module-level convenience functions:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2021-12-29 21:30:13 -04:00
|
|
|
.. attribute:: name
|
|
|
|
|
|
|
|
System-dependent name for the browser.
|
|
|
|
|
|
|
|
|
2009-09-16 12:58:14 -03:00
|
|
|
.. method:: controller.open(url, new=0, autoraise=True)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Display *url* using the browser handled by this controller. If *new* is 1, a new
|
|
|
|
browser window is opened if possible. If *new* is 2, a new browser page ("tab")
|
|
|
|
is opened if possible.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: controller.open_new(url)
|
|
|
|
|
|
|
|
Open *url* in a new window of the browser handled by this controller, if
|
|
|
|
possible, otherwise, open *url* in the only browser window. Alias
|
|
|
|
:func:`open_new`.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: controller.open_new_tab(url)
|
|
|
|
|
|
|
|
Open *url* in a new page ("tab") of the browser handled by this controller, if
|
|
|
|
possible, otherwise equivalent to :func:`open_new`.
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. rubric:: Footnotes
|
|
|
|
|
|
|
|
.. [1] Executables named here without a full path will be searched in the
|
|
|
|
directories given in the :envvar:`PATH` environment variable.
|