windows 及Mac os 获取谷歌浏览器路径

这篇具有很好参考价值的文章主要介绍了windows 及Mac os 获取谷歌浏览器路径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

def get_browser_path():
    import win32con, win32api
    upper_keyword = '\chrome.exe'
    path = None
    sub_key = r'Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store'
    key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, sub_key, 0, win32con.KEY_READ)
    info = win32api.RegQueryInfoKey(key)
    for i in range(0, info[1]):
        value = win32api.RegEnumValue(key, i)
        print(value[0])
        if value[0].lower().endswith(upper_keyword.lower()):
            path = value[0]
            break
    win32api.RegCloseKey(key)
    return path
def get_browser_path1(browser):
    # 获取windows 路径方式1
    import winreg
    result = []
    # 需要遍历的两个注册表
    sub_key = [r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall',
               r'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall',
                ]
    for i in sub_key:
        key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, i)

        for j in range(winreg.QueryInfoKey(key)[0]):
            try:
                each_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, f'{i}\\{winreg.EnumKey(key, j)}')
                display_path, reg_sz = winreg.QueryValueEx(each_key, "DisplayIcon")
                if browser in display_path:
                    result.append(display_path.split(',')[0])
            except WindowsError:
                pass
    return result

def get_browser_path2(browser):
    # 获取windows 路径方式2
    # 连接注册表根键 以HKEY_LOCAL_MACHINE为例
    regRoot = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
    subDir = r'SOFTWARE'
    # 获取指定目录下所有键的控制
    keyHandle = OpenKey(regRoot, subDir)
    # 获取该目录下所有键的个数(0-下属键个数 1-当前键值个数)
    count = QueryInfoKey(keyHandle)[0]
    lists = []
    for i in range(count):
        # 穷举键获取键名
        subKeyName = EnumKey(keyHandle, i)
        subDir_2 = r'%s\%s' % (subDir, subKeyName)
        # 根据获取的键名拼接之前的路径作为参数 获取当前键下所属键的控制
        keyHandle_2 = OpenKey(regRoot, subDir_2)
        num = QueryInfoKey(keyHandle_2)[1]
        for j in range(num):
            name, value, type_ = EnumValue(keyHandle_2, j)
            if browser in name.lower():
                _browser_regs = '\\'.join(value.split('\\')[:-1]) + '\\DefaultIcon'
                key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, _browser_regs)
                value1, _type1 = winreg.QueryValueEx(key, "")
                lists.append(value1.split(',')[0])
        # 读写操作结束后关闭键
        CloseKey(keyHandle_2)
    return lists

def get_browser_path3():
    # 获取windows 路径方式3
    result = None
    if winreg:
        for subkey in ['ChromeHTML\\\\shell\\\\open\\\\command',
                       'Applications\\\\chrome.exe\\\\shell\\\\open\\\\command']:
            try:
                result = winreg.QueryValue(winreg.HKEY_CLASSES_ROOT, subkey)
            except WindowsError:
                pass
            if result is not None:
                result_split = shlex.split(result, False, True)
                result = result_split[0] if result_split else None
                if os.path.isfile(result):
                    break
                result = None
    else:
        expected = "google-chrome" + (".exe" if os.name == 'nt' else "")
        for parent in os.environ.get('PATH', '').split(os.pathsep):
            path = os.path.join(parent, expected)
            if os.path.isfile(path):
                result = path
                break
    return [result]

def get_browser_path4(path, file_list=[]):
    # 获取windows 路径方式4
    try:
        os.listdir(path)
    except:
        return
    for i in os.listdir(path):
        path1 = os.path.join(path, i)
        if os.path.isdir(path1) and 'program' in path1.lower():
            get_browser_path4(path1, file_list)
        elif os.path.isfile(path1):
            if 'google' in path1.lower() and path1.lower().endswith('chrome.exe') and 'temp' not in path1.lower():
                file_list.append(path1.replace('\\\\', '\\'))
                return file_list
    return file_list

def get_soft_path(path, file_list=[]):
    # mac 获取谷歌浏览器的路径
    for i in os.listdir(path):
        path1 = os.path.join(path, i)
        if os.path.isdir(path1):
            get_soft_path(path1, file_list)
        elif os.path.isfile(path1):
            if 'MacOS' in path1 and path1.endswith('Chrome'):
                file_list.append(path1)
                return file_list
    return file_list
browser = 'chrome'
if sys.platform.lower().startswith('freebsd') or sys.platform.lower().startswith('darwin'):
    path = get_soft_path('/Applications/')
else:
    path = get_browser_path2(browser) or get_browser_path1(browser) or         get_browser_path3() or get_browser_path4(r'C:\\')
print(path)

#获取mac地址文章来源地址https://www.toymoban.com/news/detail-513525.html

def get_network_info():
    #https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-networkadapter
    import wmi
    mac = ''
    s = wmi.WMI()
    for nw in s.Win32_NetworkAdapter():
        # print(nw.properties)
        if '以太网' in str(nw.NetConnectionID):
            mac = nw.MACAddress.replace(':', '-')
    return mac

def get_netcard():
    import uuid
    from psutil import net_if_addrs
    mac = ''
    info = net_if_addrs()
    for k, v in info.items():
        if k == '以太网':
            k = '以太网en0'
        print(k)
        if k not in ['以太网', 'en0'] and '以太网' not in str(k): continue
        for i in v:
            if '-' in i[1] or ':' in i[1]:
                if len(i[1]) == 17:
                    mac = str(i[1]).lower()
                    break
    if not mac:
        node = uuid.getnode()
        mac = uuid.UUID(int=node).hex[-12:]
        mac = '-'.join([mac[i:i + 2] for i in range(0, len(mac) + 2 // 2, 2)])[:-1]
    return mac

mac = get_network_info()
print(mac)
print(get_netcard())

到了这里,关于windows 及Mac os 获取谷歌浏览器路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac 谷歌浏览器选中查看悬浮出现的元素样式

    1. Mac 暂停脚本执行快捷键 command + 或F8 2.以斗鱼主站下载悬浮面板为例 3. 操作步骤 (1)打开控制台,选中源代码 (2)鼠标选中下载,让面板悬浮出来 (3)按住快捷键command + ,页面暂时 (4) 通过鼠标选中浮层中的元素即可查看元素的样式信息

    2024年02月16日
    浏览(48)
  • 谷歌浏览器驱动Windows下安装

    2024年02月13日
    浏览(31)
  • 删除谷歌浏览器在mac启动台生成的网页图标

    新版谷歌浏览器会在启动台中生成YouTube等网站的图标,个人认为没什么用,给大家提供一下删除方法! 如图所示: 双击访达图标进入Finder文件夹,Shift+Command+H 打开个人登录账户的home目录,这个目录里面里面有个应用程序Application(如图) 双击进去后有Chrome应用文件夹(如

    2024年02月08日
    浏览(29)
  • Mac版chrome谷歌浏览器解决跨域,进行开发调试

    跨域问题一般在浏览器中这样提示 1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。 最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。所谓“同源”指的是“三个相同”: 协议相同 域名相同 端口相同 同源

    2024年02月02日
    浏览(35)
  • Windows下多Chrome谷歌浏览器版本共存

    某些年代久远的 WEB 应用,必须在指定的浏览器或版本才能正常运行😂,此时就需要多个版本 chrome 浏览器共存。 可以从 https://www.chromedownloads.net/ 下载需要的版本,此处下载的是 87.0.4280.141_chrome64_stable_windows_installer.exe 本文使用的解压工具为 7-zip 把上图的 7z 文件解压到指定

    2024年02月06日
    浏览(48)
  • 记录一下谷歌浏览器在mac启动台生成网页图标的问题

    记录一下谷歌浏览器在mac启动台生成网页图标的问题 谷歌浏览器会在启动台中生成YouTube等网站的图标,个人看起来很烦,给大家提供一下删除方法! Finder-前往-个人 (Shift+Command+H) 然后就可以打开了: 个人(专属的)文件夹 里面有个: 应用程序Application 其中有Chrome应用 删掉

    2024年02月09日
    浏览(34)
  • mac电脑使用谷歌浏览器,el-upload上传文件点击没反应

    在mac电脑中,使用谷歌浏览器,点击el-upload进行web端的文件上传没反应,但是有些时候使用360极速浏览器又可以,所以让我非常的莫名奇妙。 测试一直提大面积的上传功能无法使用,导致内心心力交瘁。但是主要是使用window开发的人员都没遇到过这种问题。issue去找问题,但

    2024年02月04日
    浏览(48)
  • 谷歌浏览器通过network模拟HTTP中的GET/POST请求获取response

    1、F12打开network选中需要模拟的方法Copy-Copy as fetch 2、通过AI帮你进行转换一下调用格式  原代码 通过文心一言转换(有条件的可以用ChatGPT) 问题:帮我转换为js 转换之后的代码  3、拿到response返回结果data值 比如我这边想获取到toPhoneShield的值 老规矩通过文心一言提问(有条件的

    2024年01月23日
    浏览(42)
  • Chrome 谷歌浏览器获取网址映射 IP 地址 DNS 域名解析过程介绍(详细教程)

    步骤 说明 ① 浏览器输入:http://www.baidu.com ② 查找浏览器自身 DNS 缓存:chrome://net-internals/#dns ③ Windows 系统:查找系统 hosts 文件、Linux 系统:查找 /etc/hosts 文件 ④ 浏览器就会发起一个 DNS 系统调用(向本地域名服务器发起域名解析请求) ⑤ 本地域名服务器 LDNS 替我们的浏

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包