python+pyautogui—Automatización de terminal de PC (2) operación de teclado, mouse y cuadro de diálogo

Tabla de contenido

operación del ratón

Obtener las coordenadas de la posición del ratón.

Obtenga el valor RGB de la posición del mouse

Click del raton

mouse hacia abajo y suelte

movimiento del ratón

arrastre del ratón

rueda de desplazamiento

operación del teclado

Ingrese caracteres ingleses

Prensa de operación de botón común

empujar y levantar

combinación de teclas de acceso rápido

Sigue presionando mantener

cuadro de diálogo emergente

alerta

confirmar

inmediato

contraseña


operación del ratón

Obtener las coordenadas de la posición del ratón.

x, y = pyautogui.position()  # 获取鼠标当前位置坐标
print(x, y)

Obtenga el valor RGB de la posición del mouse

print(pyautogui.screenshot().getpixel((1434, 488)))  # 获取鼠标当前位置坐标的的屏幕RGB颜色值
print(pyautogui.pixel(1434, 488))  # 同.screenshot().getpixel((x, y))

Click del raton

pyautogui.leftClick(1864, 43)  # 单击
pyautogui.rightClick(1864, 43)  # 右击
pyautogui.doubleClick(1864, 43)  # 双击
pyautogui.tripleClick(1864, 43)  # 三次单击
pyautogui.middleClick(1864, 43)  # 中间键点击

pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_ between_clicks, button='left'), el número de clics, el intervalo entre cada clic del intervalo, x, y está vacío y las coordenadas de la posición actual están seleccionados por defecto

pyautogui.click()  # 鼠标当前位置点击一下
pyautogui.click(1864, 43, 2, 1, button='left')

mouse hacia abajo y suelte

# 鼠标按下与释放,模拟拖拽鼠标
pyautogui.mouseDown(1864, 43,  button='left')  # 鼠标左键按下
pyautogui.moveTo(1500, 200)
pyautogui.mouseUp()  # 抬起鼠标按键,添加坐标会拖动鼠标到某个位置后释放

movimiento del ratón

Parámetros: duración es la duración

moveTo: mover a una determinada posición, el origen es la esquina superior izquierda de la pantalla de la computadora (en relación con la pantalla real),

for i in range(1, 5):
    print(i * 100, i * 100)
    pyautogui.moveTo(i * 100, i * 100, duration=.2)  # 移动到某个位置,原点为电脑屏幕左上角(相对真个屏幕而言)

moveRel (mover): muévase desde la posición actual hasta el origen (el origen es la posición actual) y muévase a un determinado vector de compensación (en relación con la posición actual), que puede controlar el movimiento de arriba, abajo, izquierda y bien

for i in range(1, 5):
    print(i * 100, i * 100)
    pyautogui.moveRel(i * 100, i * 100, duration=.2)  # 从当前位置移动为原点(原点为当前位置),移动到某个偏移向量(相对当前位置而言),可控制上下左右的移动
    
pyautogui.move(500, 500, .5)    # 同moveRel

Las funciones Ease/Fade cambian la velocidad y la dirección del movimiento del cursor. Por lo general, el mouse se mueve en línea recta a una velocidad constante, que es la función de aceleración/gradiente lineal. PyAutoGUI tiene 30 tipos de funciones de aceleración/gradiente, que se pueden ver a través de pyautogui.ease...

pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)  # 由慢到快,不断加速
pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)  # 又快到慢,不断减速
pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)  # 开始和结束都快,中间比较慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)  # 一步一徘徊前进
pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)  # 徘徊幅度更大,甚至超过起点和终点

arrastre del ratón

pyautogui.dragTo(1867, 125,duration=.2, button='left')  # 按住鼠标左键,将鼠标拖拽到某个位置(相对于屏幕而言)
pyautogui.dragRel(0, 100, duration=0.5)  # 按住鼠标左键,将鼠标拖拽到某个位置(相对当前位置而言)
pyautogui.drag(-300, 100, .5, button='left')  # 同dragRel

rueda de desplazamiento

# pyautogui.hscroll(500)   # 滚轮水平滚动
# pyautogui.vscroll(500)  # 滚轮垂直滚动
# pyautogui.scroll(clicks=amount_to_scroll, x=moveToX, y=moveToY)  # amount_to_scroll参数表示滚动的格数,正数则页面向上滚动,负数则向下滚动
for _ in range(10):
    time.sleep(.2)
    pyautogui.scroll(100)

operación del teclado

Operación del teclado, los nombres de las teclas que se pueden ingresar mediante las funciones press(), keyDown(), keyUp() y hotkey() en la matriz pyautogui.KEYBOARD_KEYS:

pyautogui.KEYBOARD_KEYS = ['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.',
              '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@',
              '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
              'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
              'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace', 'browserback',
              'browserfavorites', 'browserforward', 'browserhome', 'browserrefresh', 'browsersearch',
              'browserstop', 'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal',
              'del', 'delete', 'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
              'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20', 'f21', 'f22',
              'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'final', 'fn', 'hanguel', 'hangul',
              'hanja', 'help', 'home', 'insert', 'junja', 'kana', 'kanji', 'launchapp1', 'launchapp2',
              'launchmail', 'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
              'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7', 'num8', 'num9',
              'numlock', 'pagedown', 'pageup', 'pause', 'pgdn', 'pgup', 'playpause', 'prevtrack', 'print',
              'printscreen', 'prntscrn', 'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select',
              'separator', 'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
              'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen', 'command',
              'option', 'optionleft', 'optionright']

Ingrese caracteres ingleses

pyautogui.typewrite('test', interval=.25)  # 输入字符串,interval参数为每次键盘输入的间隔时间,默认为0
pyautogui.write('test', interval=.25)  # 英文输入,同上

Prensa de operación de botón común

pyautogui.press('enter')  # 点击回车键
pyautogui.press(['left', 'down', 'right', 'up'])  # 连续按键

empujar y levantar

pyautogui.keyDown('win')  # 按下win键
pyautogui.press('r')
pyautogui.keyUp('win')  # 松开win键

combinación de teclas de acceso rápido

pyautogui.hotkey('win', 'e')

Sigue presionando mantener

with pyautogui.hold('win'):
# 先按住win,再按三次其他按键,再释放win
    for i in ['e', 'i', 'r']:
        time.sleep(2)
        pyautogui.press(i)

cuadro de diálogo emergente

alerta

Un mensaje emergente simple con texto y un botón Aceptar, el usuario hace clic para volver al texto del botón

a = pyautogui.alert(text='确认要删除此文件吗?', title='删除文件', button='确定')
print(a)

  

confirmar

Muestre una ventana emergente de mensaje simple con botones de texto, Aceptar y Cancelar. Después de que el usuario hace clic, se devuelve el texto del botón en el que se hizo clic y se admite una lista de números y textos personalizados.

# b = pyautogui.confirm(text='请选择一个数字', title='', buttons=range(10))
# print(b)
pyautogui.confirm(text='是否进行下一步?', title='', buttons=['下一步', '退出'])

  

inmediato

Una ventana emergente de mensaje que se puede ingresar, con los botones Aceptar y Cancelar, el usuario hace clic en el botón Aceptar para devolver el texto ingresado y hace clic en el botón Cancelar para devolver Ninguno

c = pyautogui.prompt(text='输入要提交的内容:', title='', default='')
print(c)

  

contraseña

El estilo es el mismo que el de prompt(), que se usa para ingresar la contraseña, y el mensaje está representado por *. Con los botones Aceptar y Cancelar. El usuario hace clic en el botón Aceptar para devolver el texto ingresado y hace clic en el botón Cancelar para devolver Ninguno

pyautogui.password(text='请输入密码:', title='', default='', mask='*')

Supongo que te gusta

Origin blog.csdn.net/JBY2020/article/details/128080730
Recomendado
Clasificación