python实现随机调用一个浏览器打开网页

yipeiwu_com6年前Python基础

前两天总结了一下python爬虫 使用真实浏览器打开网页的两种方法总结

但那仅仅是总结一下而已,今天本文来实战演练一下

依然使用的是 webbrowser 这个模块 来调用浏览器

关于的三种打开方式在上一篇文章中已经说过了,这里不再赘述

如果没有特意注册,那么将会是使用默认的浏览器来打开网页,如下:

#默认浏览器 
#coding:utf-8 
import webbrowser as web #对导入的库进行重命名 
def run_to_use_default_browser_open_url(url): 
 web.open_new_tab(url) 
 print 'run_to_use_default_browser_open_url open url ending ....' 

真正的注册一个非默认浏览器:

这里先用的firfox浏览器

#firefox浏览器 
def use_firefox_open_url(url): 
 browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' 
 #这里的‘firefox'只是一个浏览器的代号,可以命名为自己认识的名字,只要浏览器路径正确 
 web.register('firefox', web.Mozilla('mozilla'), web.BackgroundBrowser(browser_path)) 
 #web.get('firefox').open(url,new=1,autoraise=True) 
 web.get('firefox').open_new_tab(url) 
 print 'use_firefox_open_url open url ending ....' 

解释一下这个注册函数当前的用法

web.register() 它的三个参数

第一个为 自己给浏览器重新命的名字, 主要目的是为了在之后的调用中,使用者能够找到它

第二个参数, 可以按照这样上面的例子这样写,因为python本身将一些浏览器实例化了, 但是还是推荐 将其赋值为 None ,因为这个参数没有更好,毕竟有些浏览器python本身并没有实例化,而这个参数也不影响它的使用

第三个参数,目前所知是浏览器的路径, 不知道有没有别的写法

当然,这里只是在这里的用法, 函数本身的意思可以去源文件中查看

下面给我一些测试的实例:

#coding:utf-8
import webbrowser as web #对导入的库进行重命名
import os
import time
#默认浏览器
def run_to_use_default_browser_open_url(url):
	web.open_new_tab(url)
	print 'run_to_use_default_browser_open_url open url ending ....'
	
#firefox浏览器	
def use_firefox_open_url(url):
	browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
	#这里的‘firefox'只是一个浏览器的代号,可以命名为自己认识的名字,只要浏览器路径正确
	web.register('firefox', web.Mozilla('mozilla'), web.BackgroundBrowser(browser_path))
	#web.get('firefox').open(url,new=1,autoraise=True)
	web.get('firefox').open_new_tab(url)
	print 'use_firefox_open_url open url ending ....'
#谷歌浏览器
def use_chrome_open_url(url):
	browser_path=r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
	web.register('chrome', None,web.BackgroundBrowser(browser_path))
	web.get('chrome').open_new_tab(url)
	print 'use_chrome_open_url open url ending ....'
#Opera浏览器	
def use_opera_open_url(url):
	browser_path=r'C:\Program Files (x86)\Opera\launcher.exe'
	web.register('opera', None,web.BackgroundBrowser(browser_path))
	web.get('chrome').open_new_tab(url)
	print 'use_opera_open_url open url ending ....'
#千影浏览器
def use_qianying_open_url(url):
	browser_path=r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe'
	web.register('qianying', None,web.BackgroundBrowser(browser_path))
	web.get('qianying').open_new_tab(url)
	print 'use_qianying_open_url open url ending ....'
#115浏览器	
def use_115_open_url(url):
	browser_path=r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe'
	web.register('115', None,web.BackgroundBrowser(browser_path))
	web.get('115').open_new_tab(url)
	print 'use_115_open_url open url ending ....'
	
#IE浏览器	
def use_IE_open_url(url):
	browser_path=r'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
	web.register('IE', None,web.BackgroundBrowser(browser_path))
	web.get('IE').open_new_tab(url)
	print 'use_IE_open_url open url ending ....'
	
#搜狗浏览器
def use_sougou_open_url(url):
	browser_path=r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
	web.register('sougou', None,web.BackgroundBrowser(browser_path))
	web.get('sougou').open_new_tab(url)
	print 'use_sougou_open_url open url ending ....'
	
#浏览器关闭任务	
def close_broswer():
	os.system('taskkill /f /IM SogouExplorer.exe') 
	print 'kill SogouExplorer.exe'
	os.system('taskkill /f /IM firefox.exe') 
	print 'kill firefox.exe'
	os.system('taskkill /f /IM Chrome.exe') 
	print 'kill Chrome.exe'
	os.system('taskkill /f /IM launcher.exe') 
	print 'kill launcher.exe'
	os.system('taskkill /f /IM qianying.exe') 
	print 'kill qianying.exe'
	os.system('taskkill /f /IM 115chrome.exe') 
	print 'kill 115chrome.exe'
	os.system('taskkill /f /IM iexplore.exe') 
	print 'kill iexplore.exe'
	
#测试运行主程序
def broswer_test():	
	url='https://www.baidu.com'	
	run_to_use_default_browser_open_url(url)
	use_firefox_open_url(url)
	#use_chrome_open_url(url)
	use_qianying_open_url(url)
	use_115_open_url(url)
	use_IE_open_url(url)
	use_sougou_open_url(url)
	time.sleep(20)#给浏览器打开网页一些反应时间
	close_broswer()
if __name__ == '__main__': 
	print ''''' 
   ***************************************** 
   ** Welcome to python of browser  ** 
   **  Created on 2017-05-07   ** 
   **  @author: Jimy _Fengqi   ** 
   ***************************************** 
	''' 
	broswer_test()	
	

好了,上面的程序是测试实例, 下面对这些内容做一个整合,简化一下代码,来实现本文的根本目的

#coding:utf-8
import time
import webbrowser as web
import os
import random
#随机选择一个浏览器打开网页
def open_url_use_random_browser():
	#定义要访问的地址
	url='https://www.baidu.com'
	#定义浏览器路径
	browser_paths=[r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe',
							r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe',
							r'C:\Program Files (x86)\Opera\launcher.exe',
							r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe',
							r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe',
							r'C:\Program Files (x86)\Internet Explorer\iexplore.exe',
							r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
							]
	#选择一个浏览器
	def chose_a_browser_open_url(browser_path,url):
		#如果传入的浏览器位置不存在,使用默认的浏览器打开
		if not browser_path:
			print 'using default browser to open url'
			web.open_new_tab(url)#使用默认浏览器,就不再结束进程
		else:
			#判断浏览器路径是否存在
			if not os.path.exists(browser_path):
				print 'current browser path not exists,using default browser'
				#浏览器位置不存在就使用默认的浏览器打开
				browser_path=''
				chose_a_browser_open_url(chose_a_browser_open_url,url)
			else:
				browser_task_name=browser_path.split('\\')[-1]#结束任务的名字
				browser_name=browser_task_name.split('.')[0]#自定义的浏览器代号
				print browser_name
				web.register(browser_name, None,web.BackgroundBrowser(browser_path))
				web.get(browser_name).open_new_tab(url)#使用新注册的浏览器打开网页
				print 'using %s browser open url successful' % browser_name
				time.sleep(5)#等待打开浏览器
				kill_cmd='taskkill /f /IM '+browser_task_name#拼接结束浏览器进程的命令
				os.system(kill_cmd) #终结浏览器
	browser_path=random.choice(browser_paths)#随机从浏览器中选择一个路径
	chose_a_browser_open_url(browser_path,url)
if __name__ == '__main__': 
	print ''''' 
   ***************************************** 
   ** Welcome to python of browser  ** 
   **  Created on 2017-05-07   ** 
   **  @author: Jimy _Fengqi   ** 
   ***************************************** 
	'''
	open_url_use_random_browser()	

PS:本程序在windows上面运行,python版本是2.7

以上这篇python实现随机调用一个浏览器打开网页就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用py2exe打包程序介绍

一、简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行...

Python PyCharm如何进行断点调试

Python PyCharm如何进行断点调试

编辑器不等于IDE(集成开发环境),开发python程序,不是只有一种print()打印输出调试。 术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。 以上两点得出的结论...

python中树与树的表示知识点总结

python中树与树的表示知识点总结

一、什么是树 客观世界中许多事物存在层次关系 人类社会家谱社会组织结构图书信息管理 其中,人类社会家谱如下图所示: 通过上述所说的分层次组织,能够使我们在数据的管理上有更高的效率!那么...

python3.6使用pickle序列化class的方法

如下所示: from library.connecter.database.mongo import Op_Mongo a = pickle.dumps(Op_Mongo) #序列化...

Python插件virtualenv搭建虚拟环境

Python插件virtualenv搭建虚拟环境

这里想象一下需求,写一个项目使用的一系列1.0版本的插件,现在要新写一个项目,需要用这些插件的2.0版本,该怎么办?都更新成2.0版本?这样之前的项目都没法维护了 这时我们需要一个虚拟环...