调用子进程时如何通过 window 提示

How to get past a window prompt while calling a subprocess

我有一个 jar 文件,我想在命令行中 运行 并使用 python 脚本收集它的标准输出。

我将调用作为子进程进行调用,例如:

def get_output():
  process = subprocess.run(['java', '-jar', 'myjar.jar', 'myfileargument'])

但是会出现一个我无法禁用的警告提示,它会暂停执行,直到用户单击 'OK' 或按回车键。有没有办法在通过代码出现的提示 window 中本质上 'click ok' 并让 python 脚本继续?

如果你没有办法,只能使用环境变量和子进程的参数来禁用该警告,没有简单的方法可以做到。

要么你将不得不走 UI 自动化之路,正如@furas 在评论中提到的那样。鉴于这样做的倍数 tools/frameworks,这样做可能相对容易。

或者您可以“修补”jar 以不需要此警告。如果您可以用另一个不需要接受警告的文件替换烦人的 .class 文件,它可能会有点效率。或者您可以在 java 程序中安装一个自定义的 ClassLoader,但这可能会很困难。