java - 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”开头的行
解决方案
我有完全相同的问题,我仍在研究这个问题。但是,我通过将 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>
当我发现更多时,我会更新我的答案。
推荐阅读
- javascript - 根据 vue.js 中的 url 将活动类添加到路由器链接
- python - PyAV:如何同时在屏幕上显示多个视频流
- ios - 如何使用 react-native 在 IOS 中引用当前视图?
- python-3.x - 如何将函数中的代码重复 N 次而不是重新输入?
- java - 代理对象调用抛出参数类型不匹配
- algorithm - 允许重叠的间隔调度算法
- android - 没有库的圆形 UI 设计中的 Android 文本视图
- powershell - Powershell 从 azure devops 构建管道中获取组件治理结果
- google-oauth - 使用 Passport 和 google oauth2 集成登录时如何重定向
- elixir - 使用受监督的过程防止 exunit 测试中的“GenServer terminating”错误