打开jar文件后的脚本不会执行代码并且不会抛出任何错误

时间:2017-02-13 08:32:37

标签: python subprocess pyautogui

脚本应该打开java文件并填充输入,因此它会打开文件,但它不会执行后续代码并且不会在控制台中显示任何错误。但是,如果我手动打开文件并运行代码而不打开文件,那么一切正常

from pywinauto import application
import pyautogui
import subprocess

subprocess.call(['java', '-jar', 'C:\\Users\\User\\Desktop\\Folder\\file.jar'],shell=True)

time.sleep(3)
pyautogui.typewrite("login")
time.sleep(3)
pyautogui.moveTo(611,601)
pyautogui.click()
time.sleep(1)
pyautogui.click()
time.sleep(40)

2 个答案:

答案 0 :(得分:1)

subprocess.call等待子进程完成。您必须改为使用subprocess.Popen

答案 1 :(得分:0)

子进程call不能同时使用参数列表和shell=True。要么说shell=False,要么将列表加入字符串。

例如,您可以说:

subprocess.call(" ".join(['java', '-jar', 'C:\\Users\\User\\Desktop\\Folder\\file.jar']), shell=True)