RT

背景:一个网站的登录部分用到了selenium,但是在多次登录之后,发现进程里残留了很多的chromedriver.exe进程。项目打成jar包之后放到另外的机器上跑,发现不久之后就开始卡顿,甚至于弹不出浏览器的窗口,所以怀疑是不是因为chromedriver.exe残留进程太多导致的。而且由于个人有强迫症,所以这个决定优化一下。

原始的代码:

 System.setProperty("webdriver.chrome.driver", webDriverPath);
WebDriver driver = new ChromeDriver();
driver.get("xxxxxxxxxx");

关闭是用的driver.quit(),而不是driver.close()。这两个区别如下:

close只会关闭当前窗口

quit会推出驱动别切关闭所关联的所有窗口

后面就去百度一些,相关网址跟解决的代码贴下面。

https://www.testwo.com/blog/6931

最终解决的代码:

ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(new File(webDriverPath)).usingAnyFreePort().build();
try {
service.start();
} catch (IOException e) {
e.printStackTrace();
}
// System.setProperty("webdriver.chrome.driver", webDriverPath); // WebDriver driver = new ChromeDriver(); WebDriver driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome()); driver.get("xxxxxxxx");

关闭的代码:

driver.quit();
service.stop();

webdriver 执行完毕关闭chromedriver进程的更多相关文章

  1. python selenium 执行完毕关闭chromedriver进程

    #OS是我们操作dos系统时需要引入的库 import os #杀死这个chromedriver进程,因为每次启动都会打开,所以需要kill,这里用的chrome浏览器,打开方式时chromedriv ...

  2. webdriver杀死浏览器和Chromedriver进程

    /**     * 执行dos命令     * @param command     */    public static void command(String command) {       ...

  3. Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)

    selenium操作chrome浏览器需要有ChromeDriver驱动来协助.webdriver中关浏览器关闭有两个方法,一个叫quit,一个叫close. 1 /** 2 * Close the ...

  4. [C#] 等待启动的进程执行完毕

    有能有时候我们启动了一个进程,必须等到此进程执行完毕,或是,一段时间, 关闭进程后再继续往下走. Example sample1 等待应用程序执行完毕 //等待应用程序执行完毕 private voi ...

  5. python with as 以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。

    with open("myfile.txt") as f: for line in f: print(line, end="") 以上这段代码执行完毕后,就算在 ...

  6. 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)

    以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...

  7. C# 本进程执行完毕后再执行下一线程

    最近做了一套MES集成系统,由上料到成品使自动化运行,其中生产过程是逐步的,但是每一个动作都需要独立的线程进行数据监听,那么就需要实现线程等待. 代码: using System; using Sys ...

  8. 执行时关闭标识位 FD_CLOEXEC 的作用

    首先先回顾 apue 中对它的描述: ① 表示描述符在通过一个 exec 时仍保持有效(书P63,3.14节 fcntl 函数,在讲 F_DUPFD 时顺便提到) ② 对打开文件的处理与每个描述符的执 ...

  9. python任务执行之线程,进程,与协程

    一.线程 线程为程序中执行任务的最小单元,由Threading模块提供了相关操作,线程适合于IO操作密集的情况下使用 #!/usr/bin/env python # -*- coding:utf-8 ...

随机推荐

  1. [100]tar命令打包(排除目录或文件)

    在linux中可以用tar打包目录以方便传输or备份,我们先来看一个例子 Linux下tar命令exclude选项排除指定文件或目录 test 文件夹有如下文件 [root@lee ~]# ll te ...

  2. create-react-app的使用及原理分析

    create-react-app 是一个全局的命令行工具用来创建一个新的项目 react-scripts 是一个生成的项目所需要的开发依赖 一般我们开始创建react web应用程序的时候,要自己通过 ...

  3. 数据加密 - TDE透明数据加密原理

    首先需要确定你需要加密的列,Oracle 10g数据库将为包含加密列的表创建一个私密的安全加密密钥(表秘钥), 然后采用你指定的加密算法(AES或3DES)加密指定列的明文数据.此时,保护表的加密密钥 ...

  4. 关于RPG游戏结构撰写的相关探索下篇

    如今市面上已经有好几百种免费RPG系统,我们都能够按照自己的需求对此进行扩展与修改.通过选择现有的系统(特别是较有名的),你能够从一个稳定且经过测试的基础开始创 造. 但是之后你需要基于设置和规则对此 ...

  5. iOS-图片浏览器

    // //  ViewController.m //  19-图片浏览器 // //  Created by hongqiangli on 2017/7/31. //  Copyright © 201 ...

  6. 搭建kafka源码开发环境时使用"gradle idea"命令构建源码失败

    我的环境: JDK: 1.8.0_131 Gradle: Gradle 3.1 Kafka源码包: kafka-0.10.0.1-src.tgz Zookeeper安装包: zookeeper-3.4 ...

  7. faster rcnn流程

    1.执行流程 数据准备 train_net.py中combined_roidb函数会调用get_imdb得到datasets中factory.py生成的imdb 然后调用fast_rcnn下的trai ...

  8. js 删除数组几种方法

    var arr=['a','b','c']; 若要删除其中的'b',有两种方法: 1.delete方法:delete arr[1] 这种方式数组长度不变,此时arr[1]变为undefined了,但是 ...

  9. Sublime Text 3安装与使用,安装插件,快捷键,默认配置

    本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...

  10. [转]ExtJS3.0与KindEditor4.1.2整合

    原文地址:http://blog.csdn.net/resigshy/article/details/7937021 ExtJS与KindEditor整合的方式. /** * 将KindEditor4 ...