当前位置: 首页 > 知识库问答 >
问题:

如何确保只有单个chromedriver。exe实例正在后台运行?

翟缪文
2023-03-14

我一直试图找出答案,但没有任何成功。

问题:每当我的selenium webdriver测试运行并在两者之间关闭时,比如说由于错误或有人关闭了chrome窗口,“chromedriver.exe”就会留在后台初始化,每次我都必须手动结束此过程,因为下次运行测试时会再次创建它。

那么,我是否可以检查chromedriver.exe实例是否已经存在于内存中?

我正在使用Java,可以为此编写脚本,但我想知道我是否可以使用

公共布尔值isRunning()内

Class DriverService

java.lang.Object
org.openqa.selenium.remote.service.DriverService

提前谢谢。

共有1个答案

楚奇逸
2023-03-14

您可以通过在代码中包含它来杀死后台实例

try {
    Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe");
} catch (IOException e) {
    e.printStackTrace();
}

此外,您还可以使用浏览器。quit()关闭窗口,但它并非始终有效。

 类似资料:
  • 问题内容: 有没有一种Python方式可以只运行一个程序实例? 我想出的唯一合理的解决方案是尝试将其作为服务器在某个端口上运行,然后尝试将第二个程序绑定到同一端口-失败。但这不是一个好主意,也许有比这更轻巧的东西了吗? (考虑到程序有时可能会失败,例如segfault-因此“锁定文件”之类的东西将无法工作) 问题答案: 以下代码可以完成此工作,它是跨平台的,并且可以在Python 2.4-3.2上

  • 问题内容: 有没有一种Python方式可以只运行一个程序实例? 我想出的唯一合理的解决方案是尝试将其作为服务器在某个端口上运行,然后尝试将第二个程序绑定到同一端口-失败。但这不是一个好主意,也许有比这更轻巧的东西了吗? (考虑到程序有时可能会失败,例如segfault-因此“锁定文件”之类的东西将无法工作) 问题答案: 以下代码可以完成此工作,它是跨平台的,并且可以在Python 2.4-3.2上

  • 问题内容: 我希望我的应用程序检查自身的另一个版本是否已在运行。 例如,启动后,用户单击以再次运行它,但是第二个实例意识到“哦,等等,已经在运行中”。并退出并显示一条消息。 问题答案: 您所寻找的内容可能最好用锁定文件来完成。锁定文件仅是指具有预定义位置且存在您的互斥体的文件。 测试程序启动时该文件是否存在,如果存在,请立即退出。在已知位置创建文件。如果程序正常退出,请删除锁定文件。 最好的办法是

  • 问题内容: 确保给定脚本仅一个实例正在运行的最简单/最佳方法是什么(假设它是Linux上的Bash)? 目前,我正在做: 但是它有几个问题: 它把检查放在脚本之外 它不允许我从单独的帐户运行相同的脚本-有时我想这样做。 仅检查进程名称的前14个字符 当然,我可以编写自己的pidfile处理程序,但我认为应该有一种简单的方法。 问题答案: 如果所有用户的脚本都相同,则可以使用一种方法。如果您获得了锁

  • 问题内容: 我希望我的程序(Java可执行文件.jar)仅运行一次。我编写了一个程序,但现在我希望用户不能打开多个实例…。感谢您的时间… 我已经检查了服务器/客户端解决方案和锁定文件,但是我不太了解它们,我也试图使它们在NetBeans中运行,但是没有运气… 问题答案: 您可以使用套接字-ServerSocket只能侦听尚未使用的端口。第一次启动会在该端口上成功创建一个ServerSocket实例

  • 尝试使用npm run schema:download下载架构时,我收到以下错误。 my-app@0.1.0模式:下载npx-apollo服务:下载--endpoint=http://localhost:9000/graphql./src/app/grapql-schema.json ✔加载阿波罗项目✖保存模式。/src/app/graphql-schema.json →虚假结果。错误:无法使用g