2

使用 webbrowser.get 后,我​​可以获取有关“a”变量内容的信息吗?除了'webbrowser.WindowsDefault object at 0x024643B0'之外,我什么也得不到。我想知道哪个浏览器是默认浏览器并将此信息传输到字符串

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

1 回答 1

0

这是一个两步解决方案:

  1. 通过运行获取浏览器对象的类名:type(a).__class__
  2. 创建一个字典,将浏览器类名称映射到浏览器类型名称

细节:

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

根据下图,您可以将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您想要的类型。

您可能需要链接到上面的这些信息:

在此处输入图像描述

完整程序:

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

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.

于 2016-04-13T13:07:13.680 回答