用Python在Tomcat成功启动后自动打开浏览器访问Web应用

前提条件

  1. Windows
  2. Python 2.7
  3. 需设置CATALINA_HOME环境变量

放码过来

# -*- coding: utf-8 -*
import os
import time
import subprocesstomcatStartFilePath = 'C:\\tomcat\\apache-tomcat-7.0.90-windows-x64\\apache-tomcat-7.0.90\\bin\\startup.bat'
browserPath = 'C:\\Users\\Administrator.USER-20180302VA\\AppData\\Local\\360Chrome\\Chrome\\Application\\360chrome.exe'
appAddress = "http://localhost:8080/nice"# 启动 tomcat,注意要设置CATALINA_HOME的环境变量
subprocess.Popen(tomcatStartFilePath, shell=True)
print 'Starting tomcat...'
time.sleep(15)# 启动15s后, 轮询 8080端口是否启用
print 'Polling...'
startBrowerFalg = False#每次轮询间隔5秒
interval = 5
count = 6while count > 0:tmpFile = os.popen('netstat -na','r')breakWhileFlag = Falsefor line in tmpFile.readlines():if line.startswith('  TCP    0.0.0.0:8080'):breakWhileFlag = Truebreakprint "Not yet."if breakWhileFlag:print "It's Ok."startBrowerFalg = Truebreakelse:count -= 1time.sleep(interval)# 8080 启用成功后, 打开浏览器访问 /nice
if startBrowerFalg:print "Launch the browser."subprocess.Popen('%s %s'%(browserPath, appAddress))
else:print "Something wrong ..."raw_input()

参考资料

  1. 如何通过批处理调用tomcat的startup.bat,然后在tomcat启动成功后,自动打开浏览器并定位到指定网址
  2. Python编程快速上手

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg源代码简单分析-解码-avcodec_send_packet 和 avcodec_receive_frame 替代 avcodec_decode_video2

参考链接 ffmpeg 源代码简单分析 : avcodec_decode_video2()_雷霄骅的博客-CSDN博客_avcodec_decode_video2 avcodec_decode_video2 ffmpeg中的avcodec_decode_video2()的作用是解码一帧视频数据。输入一个压缩编码的结构体AVPacket,输出一个解码后的结…

FFmpeg源代码简单分析-解码-avformat_close_input()

参考链接 FFmpeg源代码简单分析:avformat_close_input()_雷霄骅的博客-CSDN博客_avformat_close_input avformat_close_input() 本文简单分析FFmpeg的avformat_close_input()函数。该函数用于关闭一个AVFormatContext,一般情况下是和avformat_open_inp…

android 使用shell模拟触屏_[Android]通过adb shell input上报命令模拟屏幕点击事件【转】...

常用的 input上报命令:input text 1234 实际向界面注入1234文字,有输入框,能明显看到效果input keyevent 4 键盘事件,4 为返回input tap 100 300 单击触屏事件 ,模拟点击x100 y 300 位置input swipe 100 300 500 300 …

用Python连接MySQL并进行CRUD

Tag: MySQL, PyMySQL, Python 准备条件 Python 2.7MySQL 5.5安装 PyMySQL pip install PyMySQL 放码过来 创建一数据表 CREATE TABLE users (id int(11) NOT NULL AUTO_INCREMENT,email varchar(255) COLLATE utf8_bin NOT NULL,password varchar(255) COLLATE utf8_bin N…

python网络爬虫的方法有几种_Python网络爬虫过程中5种网页去重方法简要介绍

一般的,我们想抓取一个网站所有的URL,首先通过起始URL,之后通过网络爬虫提取出该网页中所有的URL链接,之后再对提取出来的每个URL进行爬取,提取出各个网页中的新一轮URL,以此类推。整体的感觉就是自上而下进…

FFmpeg源代码简单分析-编码-avformat_alloc_output_context2()

参考链接 FFmpeg源代码简单分析:avformat_alloc_output_context2()_雷霄骅的博客-CSDN博客_avformat_alloc_context avformat_alloc_output_context2() 在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av…

《深入理解JVM.2nd》笔记(一):走进Java

概述 Java技术体系 Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方Java类库 Java发展史 Java虚拟机发展史 展望Java技术的未来 模块化 混合语言 多核并行 进一步丰富语法 64位虚拟机 实战:自己编译…

js监听只读文本框_js 动态控制 input 框 的只读属性

input 框的只读属性: readonly在页面中直接添加为只读时,可在input中直接添加 readonly"readonly",但是如果想通过点击按钮来改变的话,需要通过js(或jquery)来实现。最近一次使用这个,终于发现了以前写这…

FFmpeg源代码简单分析-编码-avformat_write_header()

参考链接 FFmpeg源代码简单分析:avformat_write_header()_雷霄骅的博客-CSDN博客_avformat_write_header avformat_write_header() FFmpeg写文件用到的3个函数:avformat_write_header(),av_write_frame()以及av_write_trailer()其中av_writ…

《深入理解JVM.2nd》笔记(二):Java内存区域与内存溢出异常

文章目录概述运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存HotSpot虚拟机对象探秘对象的创建第一步第二步第三步第四步最后一脚对象的内存布局对象头Header第一部分第二部分实例数据Instance对齐填充Padding对象的访问定位句柄直接指针对象…

vue底部选择器_Vue组件-极简的地址选择器

一、前言本文用Vue完成一个极简的地点选择器,我们接下来带大家实现这个。当然其中也有一些值得学习与注意的地方。话不多说,我们先上demo图。因为每个人的需要不一样,我这边就不在实现更多的功能,所以留有更大的空间供大家增删改。…

FFmpeg源代码简单分析-编码-avcodec_encode_video()已被send_frame 和 receive_packet替代

参考链接 FFmpeg源代码简单分析:avcodec_encode_video()_雷霄骅的博客-CSDN博客_avcodec_encode_video2 avcodec_encode_video() 该函数用于编码一帧视频数据。函数已被弃用参考链接:FFmpeg 新旧版本编码 API 的区别_zouzhiheng的博客-CSDN博客 send_f…

《深入理解JVM.2nd》笔记(三):垃圾收集器与垃圾回收策略

文章目录概述对象已死吗引用计数算法可达性分析算法再谈引用finalize():生存还是死亡回收方法区垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法HotSpot的算法实现枚举根结点安全点安全区域垃圾收集器SerialParNewParallel ScavengeSerial OldParallel…

python计算股票趋势_通过机器学习的线性回归算法预测股票走势(用Python实现)...

1 波士顿房价数据分析安装好Python的Sklearn库后,在安装包下的路径中就能看到描述波士顿房价的csv文件,具体路径是“python安装路径\Lib\site-packages\sklearn\datasets\data”,在这个目录中还包含了Sklearn库会用到的其他数据文件&#xff…

FFmpeg源代码简单分析-编码-av_write_frame()

参考链接 FFmpeg源代码简单分析:av_write_frame()_雷霄骅的博客-CSDN博客_av_write_frame av_write_frame() av_write_frame()用于输出一帧视音频数据,它的声明位于libavformat\avformat.h,如下所示。 /*** Write a packet to an output me…

《深入理解JVM.2nd》笔记(四):虚拟机性能监控与故障处理工具

文章目录概述JDK的命令行工具jps:虚拟机进程状况工具jstat:虚拟机统计信息监视工具jinfo:Java配置信息工具jmap:Java内存映像工具jhat:虚拟机堆转储快照分析工具jstack:Java堆栈跟踪工具HSDIS:J…

postgresql 主从配置_Postgresql主从配置

一、简介PostgreSql在9.0之后引入了主从的流复制机制,所谓流复制,就是从服务器通过tcp流从主服务器中同步相应的数据。这样当主服务器数据丢失时从服务器中仍有备份。与基于文件日志传送相比,流复制允许保持从服务器更新。 从服务器连接主服务…

FFmpeg源代码简单分析-编码-av_write_trailer()

参考链接: FFmpeg源代码简单分析:av_write_trailer()_雷霄骅的博客-CSDN博客_av_malloc av_write_trailer() av_write_trailer()用于输出文件尾,它的声明位于libavformat\avformat.h,如下所示 /*** Write the stream trailer to…

科沃斯扫地机器人风扇模块_扫地机器人不能开机,不能关机,风扇不转

家庭的重要性自不必再细说,而小编今天要说的则是家庭环境的重要性。一般家庭最少居住三口人,两个大人加一个孩子,每天回到家,看到家里整洁舒适的环境,心情该是多么地惬意。要是我们每天下班回到家中,看到满…

MySQL关键字EXPLAIN的用法及其案例

文章目录概述EXPLAIN输出的列的解释实例说明select_type的说明UNIONDEPENDENT UNION与DEPENDENT SUBQUERYSUBQUERYDERIVEDtype的说明system,consteq_refrefref_or_nullindex_mergeunique_subqueryindex_subqueryrangeindexALLextra的说明DistinctNot existsRange ch…