你能在Python中获得webbrowser.get的内容吗?

时间:2016-04-13 11:53:32

标签: python python-webbrowser

使用webbrowser.get后,我可以获得有关'a'变量内容的信息吗?我得到的不仅仅是'webbrowser.WindowsDefault对象在0x024643B0'。我想知道哪个浏览器是默认的,并将此信息传输到字符串

import webbrowser
a = webbrowser.get('windows-default')
print a
a.open('http://www.google.com')

1 个答案:

答案 0 :(得分:0)

这是一个两步解决方案:

  1. 运行以下内容获取浏览器对象的类名:type(a).__class__
  2. 创建一个字典,用于将浏览器 类名 映射到浏览器 类型名称
  3. 详细说明:

    当您运行a = webbrowser.get('windows-default')时,您可以获取a的类名:browser_class = type(a).__class__

    根据below picture,您可以按照以下方式对 2 中突出显示的方法进行编码:

    def which_browser(browser_class):
       return{
           'Mozilla': 'firefox',
           'Chrome' : 'google-chrome'           
       }.get(browser_class,'firefox')
    

    此方法返回浏览器类型名称,具体取决于您在上面browser_class中获得的浏览器类名称。请注意,我将方法设置为默认情况下 mozilla ,但这不一定是简单测试。我的意思是,你可以简单地运行:

    def which_browser(browser_class):
       return{
           'Mozilla': 'firefox',
           'Chrome' : 'google-chrome'           
       }
    

    然后,您可以调用which_browser()方法获取浏览器类型名称:

    browser_name = which_browser(browser_class)
    

    browser_name的类型为str

    您可能需要与上述相关联的信息:

    enter image description here

    完整程序:

    我测试了以下代码,根据我在Linux机器上的内容,我只安装了2个浏览器:

    import webbrowser
    
    a = webbrowser.get('windows-default')
    
    def which_browser(b):
       return{
           'Mozilla': 'firefox',
           'Chrome' : 'google-chrome'           
       }.get(b,'firefox')
    
    print which_browser(type(a).__class__)
    

    运行程序后,我得到了这个输出:firefox