在任务计划程序中运行批处理文件后,Python.exe 保持打开状态

Chr*_*ris 5 windows batch-file scheduled-tasks python-2.7

我正在尝试在任务调度程序中进行调度:

  1. 运行批处理文件
  2. 激活 conda 环境
  3. 运行一个python程序
  4. 退出命令提示符

一切正常,除了在命令提示符关闭时 python.exe 窗口将保持打开状态。

我的批处理文件:(睡眠是为了运行python代码。需要几秒钟)

call activate python2
start C:\Users\Chris\Anaconda3\envs\python2\python.exe testtest.py
sleep 30
exit
Run Code Online (Sandbox Code Playgroud)

我的python脚本:

driver = webdriver.Chrome(executable_path="C:\path\to\chromedriver")
driver.get('http://website.com')

# Find email and pw fields and then fill them in
email = driver.find_element_by_id("user_email")
email.send_keys('myemail@email.com')
pw = driver.find_element_by_id("user_password")
pw.send_keys('password')

# Click on sign-in button
driver.find_element_by_class_name("button").click()
time.sleep(5)

# Click on save button to update
driver.find_element_by_class_name("button").click()

# Close driver
driver.close()
Run Code Online (Sandbox Code Playgroud)

最后一件事,程序/脚本是批处理文件,没有参数,并且开始在批处理文件所在的目录中。

任何帮助,将不胜感激!

DSw*_*way 0

我不是 python 专家,但我认为你只需要调用 sys.exit() 或 quit()

不要使用 sleep 并等待太长时间或可能不够长,而是使用 wait 选项调用 start:

call activate python2
start /WAIT C:\Users\Chris\Anaconda3\envs\python2\python.exe testtest.py
exit
Run Code Online (Sandbox Code Playgroud)

如果您不需要批处理文件执行任何其他操作,则只需启动 python 脚本并退出即可。