admin 管理员组文章数量: 887018
说明
本程序基于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 None
value, _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 True
return False
if __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', 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 获取浏览器安装位置,并使用指定浏览器打开指定网页 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726854521h1040082.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论