首页 > 解决方案 > Selenium 程序不会停止运行

问题描述

我正在使用 Java 扩展包(包括 Maven)在 VSCode 中进行开发。

出于某种原因,我的程序(如下)在运行后没有终止。

import java.util.Scanner;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

Scanner in = new Scanner(System.in);
System.setProperty("webdriver.chrome.driver", "Path to exe\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.quit();

System.out.println("Press enter to quit");
in.nextLine();
in.close();

Selenium chrome 选项卡会打开片刻,然后关闭(如我所料)。然后程序提示我“按回车”,我这样做了,但之后程序并没有结束。只有当我按下时它才会结束Ctrl-c(此时它会询问我是否要终止批处理作业)。

如果我注释掉 Selenium 的东西,它工作正常 - 程序在我按 Enter 后结束。下面是日志的图片:

在此处输入图像描述

您认为有关日志错误的部分可能是原因吗?当我注释掉 Selenium 的东西时,那部分就不存在了。另外,我希望你不介意我审查了一些个人信息。

请让我知道我是否可以做些什么来使这个问题更容易回答。

更新:我通过包含 slf4j-jdk14 依赖项修复了日志问题,但这没有任何影响 - 程序仍然没有关闭。现在唯一的区别是日志不再包含以“SLF4J”开头的行

标签: javaseleniumslf4j

解决方案


我有完全相同的问题,我仍在研究这个问题。但是,我通过将 Selenium-Java Maven 依赖项从版本 4.0.0-alpha-6 降级到版本 3.141.59 解决了这个问题。降级后,我的应用程序按预期退出。

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>

当我发现更多时,我会更新我的答案。


推荐阅读