设为首页 收藏本站
查看: 843|回复: 0

[经验分享] python开发_webbrowser_浏览器控制模块

[复制链接]

尚未签到

发表于 2015-4-26 09:12:19 | 显示全部楼层 |阅读模式
'''
python的webbrowser模块支持对浏览器进行一些操作
主要有以下三个方法:
webbrowser.open(url, new=0, autoraise=True)
webbrowser.open_new(url)
webbrowser.open_new_tab(url)
在webbrowser.py文件中,我们可以看到源码:
########################################################
def open(url, new=0, autoraise=True):
for name in _tryorder:
browser = get(name)
if browser.open(url, new, autoraise):
return True
return False
def open_new(url):
return open(url, 1)
def open_new_tab(url):
return open(url, 2)
########################################################
可以看出后面两个方法,都是建立在第一个方法open()方法上面的。
所以我们需要了解webbrowser.open()方法:
webbrowser.open(url, new=0, autoraise=True)
在系统的默认浏览器中访问url地址,如果new=0,url会在同一个
浏览器窗口中打开;如果new=1,新的浏览器窗口会被打开;new=2
新的浏览器tab会被打开。
而webbrowser.get()方法可以获取到系统浏览器的操作对象。
webbrowser.register()方法可以注册浏览器类型,而允许被注册的类型名称如下:
Type Name Class Name Notes
'mozilla' Mozilla('mozilla')   
'firefox' Mozilla('mozilla')   
'netscape' Mozilla('netscape')   
'galeon' Galeon('galeon')   
'epiphany' Galeon('epiphany')   
'skipstone' BackgroundBrowser('skipstone')   
'kfmclient' Konqueror() (1)
'konqueror' Konqueror() (1)
'kfm' Konqueror() (1)
'mosaic' BackgroundBrowser('mosaic')   
'opera' Opera()   
'grail' Grail()   
'links' GenericBrowser('links')   
'elinks' Elinks('elinks')   
'lynx' GenericBrowser('lynx')   
'w3m' GenericBrowser('w3m')   
'windows-default' WindowsDefault (2)
'macosx' MacOSX('default') (3)
'safari' MacOSX('safari') (3)
'google-chrome' Chrome('google-chrome')   
'chrome' Chrome('chrome')   
'chromium' Chromium('chromium')   
'chromium-browser' Chromium('chromium-browser')
Notes:
1. “Konqueror” is the file manager for the KDE desktop environment for Unix, and only makes sense to use if KDE is running. Some way of reliably detecting KDE would be nice; the KDEDIR variable is not sufficient. Note also that the name “kfm” is used even when using the konqueror command with KDE 2 — the implementation selects the best strategy for running Konqueror.
2. Only on Windows platforms.
3. Only on Mac OS X platform.

'''
  下面是我做的demo,在demo运行的时候,系统默认的浏览器会打开:http://www.baidu.com/
  =========================================
  代码部分:
  =========================================



  1 #python webbrowser
  2
  3 import webbrowser
  4
  5 '''
  6     python的webbrowser模块支持对浏览器进行一些操作
  7     主要有以下三个方法:
  8         webbrowser.open(url, new=0, autoraise=True)
  9         webbrowser.open_new(url)
10         webbrowser.open_new_tab(url)
11
12     在webbrowser.py文件中,我们可以看到源码:
13     ########################################################
14         def open(url, new=0, autoraise=True):
15             for name in _tryorder:
16                 browser = get(name)
17                 if browser.open(url, new, autoraise):
18                     return True
19             return False
20
21         def open_new(url):
22             return open(url, 1)
23
24         def open_new_tab(url):
25             return open(url, 2)
26     ########################################################
27     可以看出后面两个方法,都是建立在第一个方法open()方法上面的。
28     所以我们需要了解webbrowser.open()方法:
29         webbrowser.open(url, new=0, autoraise=True)
30             在系统的默认浏览器中访问url地址,如果new=0,url会在同一个
31             浏览器窗口中打开;如果new=1,新的浏览器窗口会被打开;new=2
32             新的浏览器tab会被打开。
33
34     而webbrowser.get()方法可以获取到系统浏览器的操作对象。
35     webbrowser.register()方法可以注册浏览器类型,而允许被注册的类型名称如下:
36     Type Name Class Name Notes
37     'mozilla' Mozilla('mozilla')   
38     'firefox' Mozilla('mozilla')   
39     'netscape' Mozilla('netscape')   
40     'galeon' Galeon('galeon')   
41     'epiphany' Galeon('epiphany')   
42     'skipstone' BackgroundBrowser('skipstone')   
43     'kfmclient' Konqueror() (1)
44     'konqueror' Konqueror() (1)
45     'kfm' Konqueror() (1)
46     'mosaic' BackgroundBrowser('mosaic')   
47     'opera' Opera()   
48     'grail' Grail()   
49     'links' GenericBrowser('links')   
50     'elinks' Elinks('elinks')   
51     'lynx' GenericBrowser('lynx')   
52     'w3m' GenericBrowser('w3m')   
53     'windows-default' WindowsDefault (2)
54     'macosx' MacOSX('default') (3)
55     'safari' MacOSX('safari') (3)
56     'google-chrome' Chrome('google-chrome')   
57     'chrome' Chrome('chrome')   
58     'chromium' Chromium('chromium')   
59     'chromium-browser' Chromium('chromium-browser')
60
61 Notes:
62    1. “Konqueror” is the file manager for the KDE desktop environment for Unix, and only makes sense to use if KDE is running. Some way of reliably detecting KDE would be nice; the KDEDIR variable is not sufficient. Note also that the name “kfm” is used even when using the konqueror command with KDE 2 — the implementation selects the best strategy for running Konqueror.
63    2. Only on Windows platforms.
64    3. Only on Mac OS X platform.
65
66
67 '''
68
69 __author__ = {'name' : 'Hongten',
70               'mail' : 'hongtenzone@foxmail.com',
71               'blog' : 'http://www.iyunv.com/',
72               'QQ': '648719819',
73               'created' : '2013-09-20'}
74
75 #global var
76 URL = None
77
78 def ove_open(url):
79     '''webbrowser.open().'''
80     if url is not None and url != '':
81         return webbrowser.open(url)
82     else:
83         print('the URL is None or Empty!')
84
85 def ove_open_new(url):
86     '''webbrowser.open_new().'''
87     if url is not None and url != '':
88         return webbrowser.open_new(url)
89     else:
90         print('the URL is None or Empty!')
91
92 def ove_open_new_tab(url):
93     '''webbrowser.open_new_tab().'''
94     if url is not None and url != '':
95         return webbrowser.open_new_tab(url)
96     else:
97         print('the URL is None or Empty!')
98
99 def ove_get():
100     return webbrowser.get()
101
102 def test_open():
103     ove_open(URL)
104
105 def test_open_new():
106     ove_open_new(URL)
107
108 def test_open_new_tab():
109     ove_open_new_tab(URL)
110
111 def test_get():
112     type_name = ove_get()
113     print(type_name)
114
115 def init():
116     global URL
117     URL = 'http://www.baidu.com/'
118
119 def main():
120     init()
121     test_open()
122     test_open_new()
123     test_open_new_tab()
124     test_get()
125
126 if __name__ == '__main__':
127     main()
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60754-1-1.html 上篇帖子: python安装模块与包 下篇帖子: 通过对比学Python(2):集合对象
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表