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

news2024/11/28 4:53:00

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

在这里插入图片描述

webbrowser模块详解

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

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

使用前需要「导入模块」

import webbrowser

1、常用操作

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

import webbrowser

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

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

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

语法

webbrowser.open( url, new, autoraise )

参数

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

实例

import webbrowser

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

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

在这里插入图片描述

补充:

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

webbrowser.open_new() 新窗口打开

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

语法

webbrowser.open_new( url )

参数

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

webbrowser.open_new_tab() 新页面打开

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

语法

webbrowser.open_new_tab( url )

参数

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

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

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

语法

webbrowser.get( name )

参数

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

实例

import webbrowser

browser = webbrowser.get()
print(browser)

输出:

<webbrowser.WindowsDefault object at 0x0000023BFCD89EB0>

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

import webbrowser

browser = webbrowser.get('chrome')

输出:

在这里插入图片描述


webbrowser.register() 注册浏览器

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

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)

输出:

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

3、浏览器对象

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

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

实例

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)

输出:

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

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

  • open( url ):打开窗口
  • open_new( url ):新窗口打开
  • open_new_tab( url ):新页面(标签)打开
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行代码实现模拟百度搜索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django请求的生命周期

Django请求的生命周期是指: 当用户在浏览器上输入URL到用户看到网页的这个时间段内&#xff0c;Django后台所发生的事情。 直白的来说就是当请求来的时候和请求走的阶段中&#xff0c;Django的执行轨迹。 一个完整的Django生命周期: 用户从客户端发出一条请求以后&#xff…

Kubernetes技术--Kubernetes架构组件以及核心概念

1.Kubernetes集群架构组件 搭建一个Kubernetes环境集群,其架构如下所示: 内容详解: Master:控制节点,指派任务、决策 Node:工作节点,实际干活的。 Master组件内容:

Python小知识 - 如何使用Python的Flask框架快速开发Web应用

如何使用Python的Flask框架快速开发Web应用 现在越来越多的人把Python作为自己的第一语言来学习&#xff0c;Python的简洁易学的语法以及丰富的第三方库让人们越来越喜欢上了这门语言。本文将介绍如何使用Python的Flask框架快速开发Web应用。 Flask是一个使用Python编写的轻量级…

迈向无限可能, ATEN宏正领跑设备切换行业革命!

随着互联网在各个领域的广泛应用,线上办公这一不受时间和地点制约、不受发展空间限制的办公模式开始广受追捧,预示着经济的发展正朝着新潮与活跃的方向不断跃进。当然,在互联网时代的背景下,多线程、多设备的线上办公模式也催生了许多问题:多设备间无法进行高速传输、切换;为保…

Mybatis 日志(JDK Log)

上一篇我们介绍了Mybatis中的参数&#xff0c;本篇我们使用JDK Log打印一下Mybatis运行时的日志&#xff0c;看一下Mybatis执行的过程。 这里我选取上一篇的示例进行JDK Log的集成&#xff0c;这里如果您想对上一篇进行详细了解&#xff0c;可以参考&#xff1a; Mybatis参数…

【python爬虫】4.爬虫实操(菜品爬取)

文章目录 前言项目&#xff1a;解密吴氏私厨分析过程代码实现&#xff08;一&#xff09;获取与解析提取最小父级标签一组菜名、URL、食材写循环&#xff0c;存列表 代码实现&#xff08;二&#xff09;复习总结 前言 上一关&#xff0c;我们学习了用BeautifulSoup库解析数据和…

说说构建流批一体准实时数仓

分析&回答 基于 Hive 的离线数仓往往是企业大数据生产系统中不可缺少的一环。Hive 数仓有很高的成熟度和稳定性&#xff0c;但由于它是离线的&#xff0c;延时很大。在一些对延时要求比较高的场景&#xff0c;需要另外搭建基于 Flink 的实时数仓&#xff0c;将链路延时降低…

国标视频云服务EasyGBS国标视频平台迁移服务器后无法启动的问题解决方法

国标视频云服务EasyGBS支持设备/平台通过国标GB28181协议注册接入&#xff0c;并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台部署简单、可拓展性强&#xff0c;支持将接入的视频流进行全终端、全平台分发&#xff0c;分发的视频…

即插即生产与基于技能的设计

智能制造领域的主要研究工作就是为制造领域所有事物和行为构建数字化模型。最终实现制造工厂中设备&#xff0c;软件&#xff0c;物流所有事物的互联互通。而且实现这种互联互通是便捷&#xff0c;灵活的。通俗地将就是“即插即生产”。不过&#xff0c;要实现这一目标并非易事…

【C#每日一记】常用泛型数据结构类及题单实践回顾

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

【算法题】1761. 一个图中连通三元组的最小度数

题目&#xff1a; 给你一个无向图&#xff0c;整数 n 表示图中节点的数目&#xff0c;edges 数组表示图中的边&#xff0c;其中 edges[i] [ui, vi] &#xff0c;表示 ui 和 vi 之间有一条无向边。 一个 连通三元组 指的是 三个 节点组成的集合且这三个点之间 两两 有边。 连…

Java流式编程详细介绍

文章目录 1. 流式编程介绍2. 过滤2.1 filter2.2 distinct2.3 limit2.4 sorted2.5 skip 3. 映射3.1 map3.2 flatmap 4 查找4.1 allMatch4.2 anyMatch4.3 noneMatch4.4 findFirst4.5 findAny 5. 归约6. 收集6.1 counting6.2 maxBy,minBy6.3 summingInt、summingLong、summingDoub…

zookeeper 3.8.1安装和入门使用

1、zookeeper环境搭建&#xff08;Windows单机版&#xff09; 1.1、 前提 必须安装jdk 1.8&#xff0c;配置jdk环境变量&#xff0c;步骤略 1.2、安装zookeeper 地址&#xff1a;https://zookeeper.apache.org/ 1.2.1、选择releases版本 1.2.2、下载安装包并解压 1.2.3、配…

大厂面试解码:如何准备Google, Amazon等公司的面试

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Spring Session中会将会话ID记录到标准输出流中危漏洞CVE-2023-20866

文章目录 0.前言漏洞受影响的Spring产品和版本 1.参考文档2.基础介绍描述 3.解决方案3.1. 升级版本 4.HeaderHttpSessionIdResolver 解析5. Spring Session 使用教程 0.前言 背景&#xff1a;公司项目扫描到 CVE-2023-20866&#xff1a;在Spring Session中会将会话ID记录到标准…

WevSocket(java基于spring框架实现)

一、概述 本文基于spring-boot-starter-websocket简单的完成收发信息功能&#xff0c;使用spring框架进行实现。 二、相关配置 spring:2.0.2&#xff0c;jdk:1.8.202&#xff0c;maven:3.3.9 因为spring和maven有版本匹配的要求&#xff0c;请大家注意自己的版本是否匹配 …

专线连接交换机设置 – 如何实现高效率的网络连接?

专线链接交换机设置 – 如何实现高效率的网络连接&#xff1f; 什么是专线连接交换机&#xff1f; 在现代互联网中&#xff0c;网络连接的快速和高效是至关重要的。尤其是对于需要大量数据传输和保证网络稳定性的企业和组织来说&#xff0c;专线连接交换机是一项非常重要的技…

华为云Stack的学习(四)

五、Service OM资源管理 1.Service OM简介 1.1 Service OM介绍 在华为云Stack解决方案中&#xff0c;Service OM是FusionSphere OpenStack的操作管理界面&#xff0c;是资源池&#xff08;计算、存储、网络&#xff09;以及基础云服务的管理工具。 1.2 Service OM定位 Serv…

分类算法系列②:KNN算法

目录 KNN算法 1、简介 2、原理分析 数学原理 相关公式及其过程分析 距离度量 k值选择 分类决策规则 3、API 4、⭐案例实践 4.1、分析 4.2、代码 5、K-近邻算法总结 &#x1f343;作者介绍&#xff1a;准大三网络工程专业在读&#xff0c;努力学习Java&#xff0c;涉…

Vue-关于路由规则模块的封装

路由的封装抽离 对路由的封装进行封装&#xff0c;方便main.js文件维护 首先&#xff1a; 我们需要再src文件夹中创建一个router文件夹&#xff0c;在里面在创建一个index.js文件夹。 然后&#xff1a; 我们再index.js文件夹中进行封装路由规则 import Find from /views/F…