目的: 使用 webbrowser 模块将网页呈现给用户。

webbrowser 模块中包含了在交互式浏览器中用于打开 URL 的一系列函数。该模块包含了可用浏览器的注册列表,避免系统上有多个可选的浏览器。同时它也可以通过指定浏览器的环境变量 BROWSER 来运行。

以下是一个简单的例子:

为了在浏览器中打开一个页面,我们会用到 open() 函数。

webbrowser_open.py

import webbrowser

webbrowser.open(

'https://docs.python.org/3/library/webbrowser.html'

)

以上 URL 在浏览器窗口中打开,同时该窗口被提升到窗口栈中的最上方。模块文档说明,如果可能的话,现存的窗口将被重用,但具体情况应取决于浏览器的配置。在 Mac OS X 上使用 Firefox 浏览器时,以上的代码将创建一个新的窗口。

窗口 vs. 标签页

如果你需要的是新的窗口,请使用 open_new() 。

webbrowser_open_new.py

import webbrowser

webbrowser.open_new(

'https://docs.python.org/3/library/webbrowser.html'

)

如果你需要的是一个标签页,那么请使用 open_new_tab() 。

使用特定的浏览器

如果因为某些原因你需要使用特定的浏览器,你可以用 get() 函数来获取注册浏览器的控制器。浏览器控制器同样拥有  open() , open_new() 和 open_new_tab() 方法。下面的例子强制使用 lynx 浏览器:

webbrowser_get.py

import webbrowser

b = webbrowser.get('lynx')

b.open('https://docs.python.org/3/library/webbrowser.html')

关于可用的浏览器类型列表请参考模块文档。

BROWSER 变量

用户可以尝试通过将环境变量 BROWSER 设定为浏览器名称或命令从应用外部来控制模块行为 。该变量的值应为一系列以 os.pathsep 隔开的浏览器名称。如果名称包含 %s ,那么该名称将被当做一个命令被直接执行,其中 %s 被替换为 URL 。否则,名称被传递给 get() 函数,从注册列表中获取一个控制器对象。

例如,假定以下命令是可用的,那么它将在 lynx 中打开一个网页,不管是否还注册有其他浏览器。

$ BROWSER=lynx python3 webbrowser_open.py

如果 BROWSER 变量指定的命令没一个能用的,那么 webbrowser 退回为采用默认行为。

交互命令行

与使用 Python 程序一样, webbrowser 模块的所有功能都可以通过命令行执行。

$ python3 -m webbrowser

Usage: .../lib/python3.6/webbrowser.py [-n | -t] url

-n: open new window

-t: open new tab

请参考

What the What? -- 运行你的 Python 程序,然后启动 Google 搜索以查看生成的任何异常消息。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

python webbrowser javascript_13.8. webbrowser — 显示网页相关推荐

  1. 使用WebBrowser控件时在网页元素上绘制文本或其他自定义内容

    第一次在CNBlogs上发Post是提出一个有关使用WebBrowser控件时对SELECT网页元素操作的疑惑,这个问题至今也没有解决,后来有朋友在该Post的评论里询问WebBrowser控件如何在 ...

  2. python操作本地浏览器webbrowser

    python操作本地浏览器webbrowser webbrowser是python3自带的库,可以直接用import webbrowser导入. webbrowser的使用 import webbro ...

  3. Python利用bs4批量抓取网页图片并下载保存至本地

    Python利用bs4批量抓取网页图片并下载保存至本地 使用bs4抓取网页图片,bs4解析比较简单,需要预先了解一些html知识,bs4的逻辑简单,编写难度较低.本例以抓取某壁纸网站中的壁纸为例.(b ...

  4. Python爬虫4.2 — ajax(动态网页数据抓取)用法教程

    Python爬虫4.2 - ajax[动态网页数据]用法教程 综述 AJAX 介绍 什么是AJAX 实例说明 请求分析 获取方式 实例说明 其他博文链接 综述 本系列文档用于对Python爬虫技术的学 ...

  5. 使用python和tornado实现多人网页聊天程序--界面

    标题使用python和tornado实现多人网页聊天程序 上一个文章给出了后端python的全部代码,那现在就到所有的页面处理了. 上面提到的几个页面分别有: 1.登录页面 2.注册页面 3.聊天室首 ...

  6. [python] 做一个写诗歌的网页

    python做一个写诗歌的网页 picture下面保存的网站壁纸图片 txt保存的所有的诗歌信息 下面的主页信息index.html <!DOCTYPE HTML><html> ...

  7. python网页编辑器-史上超强 Python 编辑器,竟然是张网页?!

    原标题:史上超强 Python 编辑器,竟然是张网页?! 导读:俗话说,磨刀不误砍柴工,要想闯荡编程世界,一套趁手的编辑器是必不可少的.对 Python 语言的使用者来说,不论你是刚开始学习编程知识的 ...

  8. php数据库查询中文方块,解决Python数据可视化中文部分显示方块问题

    一.问题 代码如下,发现标题的中文显示的是方块 import matplotlib import matplotlib.pyplot as plt fig = plt.figure() ax = fi ...

  9. [IE技巧] 禁止/允许显示网页上Flash的小插件

    一个很小的插件工具, 用于禁止/允许显示网页上的Flash: http://flash.melameth.com/togflash.html  转载于:https://blog.51cto.com/w ...

最新文章

  1. 阿里技术专家:为什么说失败的微服务架构,大多死在分布式事务?
  2. 周志华:严肃的研究者就不该去触碰强人工智能
  3. gitHub网站上常见英语翻译
  4. html文字粒子效果简陋,5个很棒的CSS3文本粒子动画特效
  5. 服务器性能优化的8种常用方法
  6. ios中webview的高级用法(二)
  7. php 有序数组,php 归拢两个有序数组
  8. 华为ICT大赛2016模拟题
  9. 在idear中基于ssm框架做一个项目需要考虑的基本步骤
  10. 2022年5月22日-Taylor级数的python实验
  11. 用Java编写约分最简公式_一个有趣的算法问题:如何定义一个分数类
  12. No connected devices found; please connect a device, or see flutter.dev/setup for getting started in
  13. python绘制等边三角形的代码_python绘制等边三角形
  14. mysql-下划线转驼峰-转载
  15. 非全日制计算机专业值得读吗,全日制、非全日制哪个更好?19计算机考研扫盲贴!...
  16. 【分享】仿东软OA协同办公服务管理源码
  17. 非洲有没有鸿蒙,非洲五大兽指的是哪五种动物?
  18. 很实用的应用,推荐一下http://static.apk.hiapk.com/html/2012/06/625213.html?module=256info=MQA2ADMA
  19. mmyolo训练yolov5~ppyoloe
  20. Kafka单机部署学习演示案例

热门文章

  1. 基础数据类型转换和深浅拷贝
  2. 夺命雷公狗—玩转SEO---62---TF-IDF核心算法与运用
  3. 简单的HTTP代理服务器的实现(基本功能+拓展功能)
  4. SuperPoint学习训练纪录 盘点各种报错解决方法(二)
  5. 视频剪辑,有色彩视频批量去色的简单操作
  6. 图和树的基本概念与认识
  7. 微信小程序将引爆手机屏幕的核战争?
  8. c++中chrono学习
  9. linux font 安装等
  10. 老外叹服:75元的“中国制作”手机仍能盈利