在学习selenium的过程中发现一个问题,各种博客/教程都是教人用selenium的quit()和close()方法关闭浏览器。

但这不是我要的结果。这两个方法的前提是,用webdriver打开浏览器,执行脚本之后再关闭已经用webdriver打开的浏览器。

我的前提条件:在用webdriver打开浏览器之前先检查是否有浏览器已经打开,如果有,先关闭这些浏览器,然后执行webdriver脚本。

这个也是借鉴于HP QTP(HP UFT),当初QTP遇到已经有浏览打开就不知道哪个浏览器是它要运行的,所以每次在运行qtp之前先关闭所有浏览器。

虽然selenium不存在这个问题,但还是习惯每次运行selenium脚本之前关闭所有浏览器。

现在已经被MF收购了,该叫MF UFT了。MF于2018年收购了HP的UFT和loadrunner。

据说MF还租用了之前HP在上海张江高科金科路VIA2626号?的办公室。

回到正题,以下思路就是用java rumtime执行windows命令查找进程/关闭进程。

总感觉这不是最好的方法,但却是我目前知道的唯一方法(不知道selenium到底有没有自己的方法)。

贴上代码,以下代码只是关闭firefox,后期会继续完善:

importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.List;public classWindowsProcess {public static void main(String[] args) throwsInterruptedException {

WindowsProcess winp= newWindowsProcess();

winp.killProcess("firefox.exe");

}public void killProcess(String processName) throwsInterruptedException {try{

String line;

Process p= Runtime.getRuntime().exec("tasklist.exe");

BufferedReader input= new BufferedReader(newInputStreamReader(p.getInputStream()));while ((line = input.readLine()) != null) {

System.out.println(line);if (line.contains("firefox.exe")) {

System.out.println("Firefox is found.");

Runtime.getRuntime().exec("taskkill /F /IM " +processName);

}

}

}catch(Exception e) {

e.printStackTrace();

}

}

}

这里面用到了java的runtime类和它的getruntime方法,Process类,inpustring类。

getruntime的返回值是i一个runtime对象,process是一个抽象类。

关于这三个类的java官方API 文档:

https://docs.oracle.com/javase/8/docs/api/

关于runtime类的一些参考文章:

https://www.cnblogs.com/mingforyou/p/3551199.html

https://www.cnblogs.com/slyfox/p/7272048.html

java关闭页面6,Selenium Java关闭浏览器相关推荐

  1. java 浏览器测试,【Java资源大全】Selenium:基于浏览器的测试套件

    (点击上方公号,可快速关注) 来源:http://hao.jobbole.com/ 作者:伯乐在线-唐尤华 Selenium是用于在多个平台上自动化操作浏览器的工具套件,支持多种浏览器.多种操作系统. ...

  2. java截全屏,Selenium+Java屏幕截图-网页全屏截图or当前可见内容截图

    使用场景 WebUI自动化测试框架中错误截图方法,需要进行全屏幕截取or当前窗口截取 解决方案 导入Ashot的maven依赖,使用Ashot不同的截图策略 ru.yandex.qatools.ash ...

  3. Selenium常用操作——关闭页面和浏览器

    目录 一.关闭页面 二.退出浏览器 一.关闭页面 from selenium import webdriver import time# 创建浏览器对象 driver = webdriver.Chro ...

  4. HTML页面点击按钮关闭页面的方式

    这篇文章给大家分享HTML页面点击按钮关闭页面的几种方式,实现思路非常简单,有不带任何方式的关闭窗口,提示之后关闭页面,点击关闭本页面并跳转到其他页面等等,每种方式结合实例代码给大家介绍的非常详细,需 ...

  5. java 判断页面刷新_如何判断一个网页是刷新还是关闭的方法

    页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload.这样我们可以在onbeforeunload中加一个 ...

  6. java使用selenium实现模拟浏览器操作API大全 模拟登录

    java selenium 模拟登录 模拟浏览器 API大全 (一)环境安装之Java (二)环境安装之IntelliJ IDEA (三)环境安装之Selenium 1.通过jar包安装 2.通过Ma ...

  7. selenium+Java同时开启多个浏览器并行测试用例

    在使用selenium+Java进行web自动化测试时,并行运行测试用例一般会在以下两个场景下使用:一是需要加快测试用例执行速度,减少测试时间:一是为了验证不同类型浏览器下web页面的兼容性.由于te ...

  8. java创建的窗口无法关闭_在Java中添加canvas后无法关闭窗口(Can't close window after adding canvas in Java)...

    在Java中添加canvas后无法关闭窗口(Can't close window after adding canvas in Java) public class Screen extends Ca ...

  9. java 窗体隐藏和关闭_java JFrame窗体真正关闭

    程序: package JFrame.bao; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; impo ...

最新文章

  1. 图解Java中那18 把锁
  2. 第三代主流测序数据组装软件
  3. 在Eclipse中使用JUnit4进行单元測试(0基础篇)
  4. onpropertychange事件
  5. 解读鸿蒙轻内核的监控器:异常钩子函数
  6. 安装Qemu-6.1.0
  7. Flink 生态:Pulsar Connector 机制剖析
  8. dispaly 的block与inline-block的用法
  9. Redis客户端工具 支持使用Redis命令行和集群
  10. Java 基础实验 银行转账
  11. 计算机前沿讲座题目论文,计算机技术前沿讲座论文
  12. 基于JAVA实现的图形化页面置换算法
  13. jpa 动态查询条件 数组_利用JPA+querydsl实现多条件动态查询
  14. [精华] RDMA技术原理分析、主流实现对比和解析
  15. 【谷歌浏览器打不开Axure解决办法~】
  16. 蓝天白云青山绿水还有清风吹斜阳......
  17. Unity 对话气泡
  18. MAC 安装windows
  19. PYTHON实践——GUI界面
  20. 记一次nginx不能在浏览器访问默认目录/usr/share/nginx/html下面目录的问题

热门文章

  1. 三种函数调用方式:传值、传址、传参考
  2. 使用Adove illustrate 去背景
  3. 2021-04-05 web前端CSS之权重,盒子边框内外边距
  4. 商城项目(二)整合Redis实现缓存功能
  5. SpringCloud组件的选用
  6. RabbitMQ七种工作模式实现测试代码
  7. Photoshop CS6下载及安装教程a
  8. zoj 1178 Booklet Printing
  9. ASP.NET : 如何将服务端的多个文件打包下载
  10. php 抽奖思路,想用PHP做抽奖系统,思路..