调用子进程时如何通过 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,但这可能会很困难。
我有一个 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,但这可能会很困难。