《Python入门到精通》webbrowser模块详解,Python webbrowser标准库,Python浏览器控制工具

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

webbrowser模块详解

  • 1、常用操作
  • 2、函数大全
    • [webbrowser.open() 打开浏览器](#webbrowser.open() 打开浏览器)
    • [webbrowser.open_new() 新窗口打开](#webbrowser.open_new() 新窗口打开)
    • [webbrowser.open_new_tab() 新页面打开](#webbrowser.open_new_tab() 新页面打开)
    • [webbrowser.get() 获取浏览器对象](#webbrowser.get() 获取浏览器对象)
    • [webbrowser.register() 注册浏览器](#webbrowser.register() 注册浏览器)
  • 3、浏览器对象
  • 4、实战演示

webbrowser 是Python的内置库,提供了访问Web浏览器的接口

使用前需要「导入模块」

python 复制代码
import webbrowser

1、常用操作

1)使用「默认浏览器」打开指定url

python 复制代码
import webbrowser

webbrowser.open('www.baidu.com')

2)使用「指定浏览器」(比如chrome)打开指定url

python 复制代码
import webbrowser

path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(path))
browser = webbrowser.get('chrome')
browser.open('www.baidu.com')

2、函数大全

webbrowser 模块提供了一些「操作浏览器」的函数

webbrowser.open() 打开浏览器

使用「默认浏览器」打开指定的url

语法

python 复制代码
webbrowser.open( url, new, autoraise )

参数

  • url :(必选)需要打开的url
  • new :(可选)0同一个窗口打开;1新窗口打开;默认值是0。
  • autoraise :(可选)True窗口前置;False不前置;默认值是True。

实例

python 复制代码
import webbrowser

webbrowser.open('www.baidu.com')

电脑会「打开」默认浏览器并访问url

补充:

  • new 参数只是尽可能在新窗口打开,很多情况下还是在同窗口打开
  • open() 函数有时能够「打开文件」,但这种方式是不支持的,应该避免

webbrowser.open_new() 新窗口打开

尽可能在默认浏览器的「新窗口」打开url,否则还是在原窗口打开。

语法

php 复制代码
webbrowser.open_new( url )

参数

  • url :(必选)需要打开的url

webbrowser.open_new_tab() 新页面打开

尽可能在默认浏览器的「新页面」(标签)打开url,否则就等同于 open_new()

语法

php 复制代码
webbrowser.open_new_tab( url )

参数

  • url :(必选)需要打开的url

webbrowser.get() 获取浏览器对象

获取浏览器的「控制器对象」,如果不给参数,就返回默认浏览器的控制器对象。

语法

php 复制代码
webbrowser.get( name )

参数

  • name :(可选)需要获取对象的浏览器类型

实例

python 复制代码
import webbrowser

browser = webbrowser.get()
print(browser)

输出:

bash 复制代码
<webbrowser.WindowsDefault object at 0x0000023BFCD89EB0>

直接打开会报错 webbrowser.Error: could not locate runnable browser,需要先「注册」

python 复制代码
import webbrowser

browser = webbrowser.get('chrome')

输出:

webbrowser.register() 注册浏览器

「注册」后的浏览器,才能被 get() 获取。

python 复制代码
import webbrowser

path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(path))
browser = webbrowser.get('chrome')
print(browser.name)

输出:

bash 复制代码
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

3、浏览器对象

get() 获取的浏览器控制器对象,有一些「属性」和「函数」。

  • browser.name :浏览器控制器路径
  • browser.basename :浏览器控制器名字

实例

python 复制代码
import webbrowser

path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(path))
browser = webbrowser.get('chrome')
print(browser.name)
print(browser.basename)

输出:

bash 复制代码
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
chrome.exe

浏览器控制器对象也可以用 webbrowser 模块的函数,用法相同。

  • open( url ):打开窗口
  • open_new( url ):新窗口打开
  • open_new_tab( url ):新页面(标签)打开
python 复制代码
import webbrowser

path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(path))
browser = webbrowser.get('chrome')
browser.open('www.baidu.com')
browser.open_new('www.baidu.com')
browser.open_new_tab('www.baidu.com')

4、实战演示

Python10行代码实现模拟百度搜索

相关推荐
拓恒技术3 小时前
从“可见光漏检”到“热异常锁定”:无人机河道排污口识别与溯源的技术链路
人工智能·视觉检测·无人机
2601_968900773 小时前
按量计费接口实战:从接入、预算到对账的完整链路
人工智能
七牛云行业应用3 小时前
MIT “权重空间编程”:GPT-6 Astra 修改 0.016% 的 Qwen 权重,MATH-500 从 7.9% 升至 48.1%
人工智能·gpt·ai
故七月3 小时前
AI 答案里的竞品共现:怎么看出赛道格局
大数据·人工智能
正在走向自律3 小时前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
Fatbobman(东坡肘子)3 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift
迪康Defender4 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
别问!问就是全会4 小时前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
Flynn Liang4 小时前
AI 应用的安全红线:Spring AI 下的 Prompt 注入防护、PII 脱敏、输出审计与密钥管理
人工智能·安全·spring·数据泄露·springai·prompt注入
朗迪锋4 小时前
SoErgo重塑“四特”场景下的人机协同与安全边界
人工智能·安全·人机工程