说明

本程序基于Windows注册表实现了浏览器安装位置的查找功能和使用指定浏览器打开网页的功能。
使用 get_browser_path 函数可获取对应名称的浏览器的安装位置,使用 open_url 函数可直接使用指定的浏览器打开对应页面,
可同时指定多个浏览器,优先级从前到后。当前支持 ‘IE’,‘chrome’,‘edge’,‘firefox’,‘360’ 等浏览器,如果有其他浏览器需要支持,只需在 _browser_regs 中补充对应注册表信息即可。

代码

"""
使用 get_browser_path 函数可获取对应名称的浏览器的安装位置,使用 open_url 函数可直接使用指定的浏览器打开对应页面,
可同时指定多个浏览器,优先级从前到后。当前支持 'IE','chrome','edge','firefox','360' 等浏览器,如果有其他浏览器需要支持,只需在 _browser_regs 中补充对应注册表信息即可
"""
import webbrowser
import winreg# 浏览器注册表信息
_browser_regs = {'IE': r"SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\DefaultIcon",'chrome': r"SOFTWARE\Clients\StartMenuInternet\Google Chrome\DefaultIcon",'edge': r"SOFTWARE\Clients\StartMenuInternet\Microsoft Edge\DefaultIcon",'firefox': r"SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\DefaultIcon",'360': r"SOFTWARE\Clients\StartMenuInternet\360Chrome\DefaultIcon",
}def get_browser_path(browser):"""获取浏览器的安装路径:param browser: 浏览器名称"""try:key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, _browser_regs[browser])except FileNotFoundError:return Nonevalue, _type = winreg.QueryValueEx(key, "")return value.split(',')[0]def open_url(url, browsers=('IE',)):"""使用指定的浏览器打开url对应的网页地址:param url: 网页地址:param browsers: 浏览器名称列表:return: 是否打开成功"""for browser in browsers:path = get_browser_path(browser)if path:print(f'open with browser: `{browser}`, path: `{path}`')webbrowser.register(browser, None, webbrowser.BackgroundBrowser(path))webbrowser.get(browser).open(url)return Truereturn Falseif __name__ == '__main__':print("IE:", get_browser_path('IE'))print("谷歌:", get_browser_path('chrome'))print("edge: ", get_browser_path('edge'))print("火狐:", get_browser_path('firefox'))print("360: ", get_browser_path('360'))if open_url('www.baidu.com', browsers=('chrome', 'firefox')):print('打开成功')else:print('打开失败,请安装 Chrome 或 Firefox 浏览器后重试')

运行结果

IE: C:\Program Files\Internet Explorer\iexplore.exe
谷歌: C:\Program Files\Google\Chrome\Application\chrome.exe
edge:  C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
火狐: None
360:  None
open with browser: `chrome`, path: `C:\Program Files\Google\Chrome\Application\chrome.exe`
打开成功

python 获取浏览器安装位置,并使用指定浏览器打开指定网页相关推荐

  1. Java 针对每个人安装的位置不同的情况 从快捷方式中获取到安装位置 运行谷歌浏览器

    针对每个人安装的位置不同的情况 从快捷方式中获取到安装位置 运行谷歌浏览器 从桌面的谷歌浏览器快捷方式来获取对应的chrome.exe的地址,然后启动谷歌浏览器展示某个链接(也可以展示本地文件,但是需 ...

  2. 浏览器中java在什么位置_win10浏览器安装位置在哪里_如何找到win10浏览器的安装路径...

    win10浏览器安装位置在哪里?win10系统的浏览器默认是Edge浏览器,该浏览器是系统自带的.有的用户想查看该浏览器的安装路径,但无从下手,不知道该如何找到.没关系,下面小编就来为大家分享关于如何 ...

  3. adb打开网页_关于ADB,请教如何通过指定APP打开目标网页

    关于ADB,请教如何通过指定APP打开目标网页 比如用ADB命令通过QQ或者微信打开网址,比如百度 效果类似于在聊天页面鼠标点击链接打开网站 以下是山海LUA插件类似功能,请参考: --指定APP打开 ...

  4. GDAL/ORG之Python获取与安装

    GDAL(Geospatial Data Abstraction Library)是一个的开源栅格空间数据读取/转换库.其中还有一系列命令行工具来进行数据转换和处理. 而ORG项目是GDAL的一个分支 ...

  5. Python获取原图GPS位置信息,轻松得到你的活动轨迹!

    一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,如拍摄时间. ...

  6. c#获取autocad安装位置_Robotstudio软件二次开发:基于C#语言的Smart组件开发基础

    Robotstudio软件除了支持Add-Ins插件的二次开发以外,还支持Smart组件的二次开发. 开发语言同样是基于 .NET框架的C#语言或VB语言. Smart组件是Robotstudio软件 ...

  7. python安装位置是固定的吗_pip指定python位置安装软件包的方法

    由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pip install安装某个包时,可能会没有安装在想要的位置. 具体而言,在我电脑上,运行pip --vers ...

  8. 指定火狐浏览器安装位置

    一定要下载完整版才会有自定义安装的方式和选项

  9. python获取原图GPS位置信息,轻松得到你的活动轨迹

    点击上方"AI搞事情"关注我们 一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的 ...

最新文章

  1. python 字符串长度变化_sizeof(string)不等于字符串长度
  2. canvas画柱状图 和饼图
  3. Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端
  4. combox qt 引起的删除失败_关于QT的QCombox的掉坑出坑
  5. 黑马lavarel教程---10、lavarel模型关联
  6. QSettings allKeys读取为空分析
  7. Qt创建Android服务
  8. c++Hash Search哈希搜索的实现算法(附完整源码)
  9. 驱动06.触摸屏驱动程序
  10. 【BZOJ3512】DZY Loves Math IV(杜教筛)
  11. 麦克劳林展开式_数学家麦克劳林与牛顿的故事
  12. Ubuntu 20.10 Beta 版本发布
  13. Spring框架的本质:4那些高曝光率的Annotation
  14. python vecm_用Eviews处理有关VARVECM模型的几个问题
  15. 汽车软件行业工程师详细介绍?(上)
  16. SpringCloud 问题杂集
  17. 快速获取今天是星期几
  18. [安全分享]斗鱼360补天沙龙分享-跨域资源那些事
  19. 随着窗体大小变化改变控件的大小和字体
  20. Python+Appium+unittest demo

热门文章

  1. JS调用打印机打印页面指定元素
  2. 宝藏又小众的Maya软件插件素材网站分享
  3. 黑龙江省30m精度土地利用数据下载
  4. 基于神经网络多项式插值的图像超分辨重构研究-附Matlab代码
  5. C#实现简单的文件管理系统
  6. abb工业机器人电压不稳_(牢记)ABB工业机器人出现的故障及处理方法
  7. FIFO实现位宽转换
  8. 房地产大数据催生新商业蓝海 提供决策支持是核心
  9. MallBook电商支付分账系统如何解决企业痛点?
  10. 用米思齐控制arduino显示TM1637的数码管