当前位置:Gxlcms > Python > python实现随机调用一个浏览器打开网页

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

时间:2021-07-01 10:21:17 帮助过:94人阅读

下面为大家分享一篇python实现随机调用一个浏览器打开网页,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

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

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

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

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

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

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

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

这里先用的firfox浏览器

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

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

web.register() 它的三个参数

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

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

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

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

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

  1. #coding:utf-8
  2. import webbrowser as web #对导入的库进行重命名
  3. import os
  4. import time
  5. #默认浏览器
  6. def run_to_use_default_browser_open_url(url):
  7. web.open_new_tab(url)
  8. print 'run_to_use_default_browser_open_url open url ending ....'
  9. #firefox浏览器
  10. def use_firefox_open_url(url):
  11. browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
  12. #这里的‘firefox'只是一个浏览器的代号,可以命名为自己认识的名字,只要浏览器路径正确
  13. web.register('firefox', web.Mozilla('mozilla'), web.BackgroundBrowser(browser_path))
  14. #web.get('firefox').open(url,new=1,autoraise=True)
  15. web.get('firefox').open_new_tab(url)
  16. print 'use_firefox_open_url open url ending ....'
  17. #谷歌浏览器
  18. def use_chrome_open_url(url):
  19. browser_path=r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
  20. web.register('chrome', None,web.BackgroundBrowser(browser_path))
  21. web.get('chrome').open_new_tab(url)
  22. print 'use_chrome_open_url open url ending ....'
  23. #Opera浏览器
  24. def use_opera_open_url(url):
  25. browser_path=r'C:\Program Files (x86)\Opera\launcher.exe'
  26. web.register('opera', None,web.BackgroundBrowser(browser_path))
  27. web.get('chrome').open_new_tab(url)
  28. print 'use_opera_open_url open url ending ....'
  29. #千影浏览器
  30. def use_qianying_open_url(url):
  31. browser_path=r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe'
  32. web.register('qianying', None,web.BackgroundBrowser(browser_path))
  33. web.get('qianying').open_new_tab(url)
  34. print 'use_qianying_open_url open url ending ....'
  35. #115浏览器
  36. def use_115_open_url(url):
  37. browser_path=r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe'
  38. web.register('115', None,web.BackgroundBrowser(browser_path))
  39. web.get('115').open_new_tab(url)
  40. print 'use_115_open_url open url ending ....'
  41. #IE浏览器
  42. def use_IE_open_url(url):
  43. browser_path=r'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
  44. web.register('IE', None,web.BackgroundBrowser(browser_path))
  45. web.get('IE').open_new_tab(url)
  46. print 'use_IE_open_url open url ending ....'
  47. #搜狗浏览器
  48. def use_sougou_open_url(url):
  49. browser_path=r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
  50. web.register('sougou', None,web.BackgroundBrowser(browser_path))
  51. web.get('sougou').open_new_tab(url)
  52. print 'use_sougou_open_url open url ending ....'
  53. #浏览器关闭任务
  54. def close_broswer():
  55. os.system('taskkill /f /IM SogouExplorer.exe')
  56. print 'kill SogouExplorer.exe'
  57. os.system('taskkill /f /IM firefox.exe')
  58. print 'kill firefox.exe'
  59. os.system('taskkill /f /IM Chrome.exe')
  60. print 'kill Chrome.exe'
  61. os.system('taskkill /f /IM launcher.exe')
  62. print 'kill launcher.exe'
  63. os.system('taskkill /f /IM qianying.exe')
  64. print 'kill qianying.exe'
  65. os.system('taskkill /f /IM 115chrome.exe')
  66. print 'kill 115chrome.exe'
  67. os.system('taskkill /f /IM iexplore.exe')
  68. print 'kill iexplore.exe'
  69. #测试运行主程序
  70. def broswer_test():
  71. url='https://www.baidu.com'
  72. run_to_use_default_browser_open_url(url)
  73. use_firefox_open_url(url)
  74. #use_chrome_open_url(url)
  75. use_qianying_open_url(url)
  76. use_115_open_url(url)
  77. use_IE_open_url(url)
  78. use_sougou_open_url(url)
  79. time.sleep(20)#给浏览器打开网页一些反应时间
  80. close_broswer()
  81. if __name__ == '__main__':
  82. print '''''
  83. *****************************************
  84. ** Welcome to python of browser **
  85. ** Created on 2017-05-07 **
  86. ** @author: Jimy _Fengqi **
  87. *****************************************
  88. '''
  89. broswer_test()

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

  1. #coding:utf-8
  2. import time
  3. import webbrowser as web
  4. import os
  5. import random
  6. #随机选择一个浏览器打开网页
  7. def open_url_use_random_browser():
  8. #定义要访问的地址
  9. url='https://www.baidu.com'
  10. #定义浏览器路径
  11. browser_paths=[r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe',
  12. r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe',
  13. r'C:\Program Files (x86)\Opera\launcher.exe',
  14. r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe',
  15. r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe',
  16. r'C:\Program Files (x86)\Internet Explorer\iexplore.exe',
  17. r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
  18. ]
  19. #选择一个浏览器
  20. def chose_a_browser_open_url(browser_path,url):
  21. #如果传入的浏览器位置不存在,使用默认的浏览器打开
  22. if not browser_path:
  23. print 'using default browser to open url'
  24. web.open_new_tab(url)#使用默认浏览器,就不再结束进程
  25. else:
  26. #判断浏览器路径是否存在
  27. if not os.path.exists(browser_path):
  28. print 'current browser path not exists,using default browser'
  29. #浏览器位置不存在就使用默认的浏览器打开
  30. browser_path=''
  31. chose_a_browser_open_url(chose_a_browser_open_url,url)
  32. else:
  33. browser_task_name=browser_path.split('\\')[-1]#结束任务的名字
  34. browser_name=browser_task_name.split('.')[0]#自定义的浏览器代号
  35. print browser_name
  36. web.register(browser_name, None,web.BackgroundBrowser(browser_path))
  37. web.get(browser_name).open_new_tab(url)#使用新注册的浏览器打开网页
  38. print 'using %s browser open url successful' % browser_name
  39. time.sleep(5)#等待打开浏览器
  40. kill_cmd='taskkill /f /IM '+browser_task_name#拼接结束浏览器进程的命令
  41. os.system(kill_cmd) #终结浏览器
  42. browser_path=random.choice(browser_paths)#随机从浏览器中选择一个路径
  43. chose_a_browser_open_url(browser_path,url)
  44. if __name__ == '__main__':
  45. print '''''
  46. *****************************************
  47. ** Welcome to python of browser **
  48. ** Created on 2017-05-07 **
  49. ** @author: Jimy _Fengqi **
  50. *****************************************
  51. '''
  52. open_url_use_random_browser()

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

相关推荐:

Python实现接受任意个数参数的函数

Python实现针对给定字符串寻找最长非重复子串

以上就是python实现随机调用一个浏览器打开网页的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行