pyautogui 自动化不适用于 Zoom

问题描述 投票:0回答:1

我正在编写一个脚本来自动登录 Zoom 会议,但是在运行代码时,只有 Zoom 应用程序打开,之后什么也没有发生。当我关闭缩放应用程序时,代码就会运行

import keyboard, mouse, time, subprocess
subprocess.call("C:\\Users\\Prathamesh\\AppData\\Roaming\\Zoom\\bin\\Zoom")
time.sleep(3)
x = [683, 577, 525, 709, 572, 700]
y = [360, 323, 483, 523, 325, 519]
for i in range(6):
     mouse.move(x[i], y[i])
mouse.click()
if i == 1:
    time.sleep(2)
    keyboard.write("meetingid")
elif i == 4:
    time.sleep(3)
    keyboard.write("password")
elif i == 5:
    time.sleep(5)
time.sleep(3)

             

     


       
python automation
1个回答
0
投票

晚上好,

我认为你的问题源于这样一个事实:根据库的文档,

subprocess.call()
命令等待任务完成或终止以便让程序继续。

这里是子进程库的Python文档:https://docs.python.org/3/library/subprocess.html

问题是Python不是多线程的,因此程序的流程会停止,直到您正在执行的函数结束为止。我要做的就是导入线程库并使用它来调用执行命令的函数。

类似这样的:

import keyboard, mouse, time, subprocess
from threading import Thread

def OpenZoom():
  subprocess.call("C:\\Users\\Prathamesh\\AppData\\Roaming\\Zoom\\bin\\Zoom")

thrd = Thread(target=OpenZoom)
thrd.start()

time.sleep(3)

x = [683, 577, 525, 709, 572, 700]
y = [360, 323, 483, 523, 325, 519]
for i in range(6):
    mouse.move(x[i], y[i])
    mouse.click()
    if i == 1:
        time.sleep(2)
        keyboard.write("meetingid")
    elif i == 4:
        time.sleep(3)
        keyboard.write("password")
    elif i == 5:
        time.sleep(5)
    time.sleep(3)

我希望这能回答您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.