El boleto femenino era ruidoso por la noche, usando python para persuadir al boleto femenino a dormir, el boleto femenino exclamó: FUCK, FUCK, FUCK (luego el boleto femenino desapareció y se escapó con python)

Mi novia me pidió que la persuadiera para que se durmiera y yo lo convencí directamente. Las mujeres solo afectan la velocidad de mi codificación.
Pero, tengo demasiado sueño para pasar... ¿eh? ¿Es importante que una novia duerma?
Por favor agregue la descripción de la imagen

Hermanos, si desean los videos didácticos completos de alta calidad, notas en video, materiales de entrevistas, materiales de aprendizaje de plantillas de herramientas de Uncle Fan, pueden encontrar nuestros comentarios de Miss Beibei [mashan-qq] [csdn000] de forma gratuita

¿Qué debemos hacer entonces? ¡Es hora de traer a Python a la mesa!

Pitón debuta

Esta vez, hagamos un programa para enviar automáticamente WeChat y enviar un mensaje a mi novia a las 12 en punto de la noche, lo que puede considerarse como el cumplimiento de la obligación de un novio.

instalar e importar

Necesitamos dos módulos: apscheduler , pyautogui

Acceso directo a Windows+r para abrir el cuadro de control de ejecución, ingrese cmd, ingrese la línea de comando, ingrese:

pip install apscheduler
pip install pyautogui

importar:

import pyautogui
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler # 阻塞当前进程的调度器
# blocking类型调度器会阻塞当前进程,若你想要后台运行的调度器,可以使用以下代码:
# from apscheduler.schedulers.background import BackgroundScheduler

piautogui

Primero implementemos el envío automático de mensajes

pyautogui es una biblioteca muy poderosa que puede operar el mouse y el teclado. Lo usaremos para completar la automatización de la computadora.

Primero hagamos algunos ajustes básicos:

pyautogui.PAUSE = 1 # 设置每一步操作的间隔(秒),可防止操作太快

Luego iniciamos sesión en WeChat y minimizamos.

A continuación, colocamos el mouse en el ícono de la barra de tareas de WeChat, ejecutamos la siguiente declaración, obtenemos las coordenadas del cursor en este momento y devolvemos un objeto Point:

print(pyautogui.position()) # 打印坐标,Point(x=148, y=879)
icon_position = pyautogui.position() # Point(x=148, y=879)

Abra WeChat, seleccione la ventana de respuesta de la novia, coloque el mouse en el cuadro de entrada y también obtenga las coordenadas del cursor, para bloquear el enfoque en el cuadro de entrada para facilitar la entrada más tarde.
Por favor agregue la descripción de la imagen

print(pyautogui.position()) # 打印坐标,Point(x=174, y=751)
entry_position = pyautogui.position() # Point(x=174, y=751)

A continuación, el programa de control hace clic en estos dos puntos en secuencia:

pyautogui.click(icon_position) # 默认左键单击
# pyautogui.click(148, 879)
pyautogui.click(entry_position)
# pyautogui.click(174, 751)

Después de abrir WeChat y bloquear el enfoque, comenzamos a ingresar texto.

Hay dos formas de introducir texto:

  • pyautogui.typewrite(['o', 'n', 'e', 'enter'])

    Pase una lista en el método, cada elemento en él es una sola letra o una clave especial

  • pyautogui.typewrite('You can type multiple letters in this way')

    Pase una cadena, pero no imprima letras y teclas especiales al mismo tiempo.

Ninguno de estos dos métodos puede ingresar chino directamente, por lo que solo puede confiar en su método de entrada para ingresar chino.

pyautogui.typewrite([*list('zhengzai '), *list('jinxing '), 'shift', *list('pyautogui'), 'shift', *list('shiyan '), 'enter'], 0.1) # 第一个参数是输入文本,第二个是输入每个字符的间隔时间

Para que nuestra operación sea más  humana  , agreguemos el código para mover el mouse:

pyautogui.moveTo(icon_position, duration=2) # duration为执行时长,可选
pyautogui.click(icon_position)
pyautogui.moveTo(entry_position, duration=2)
pyautogui.click(entry_position)
pyautogui.typewrite([*list('zhengzai '), *list('jinxing '), 'shift', *list('pyautogui'), 'shift', *list('shiyan '), 'enter'], 0.1) # 第二个参数为按下每一个字母的间隔,可选

Eche un vistazo al efecto: por
Por favor agregue la descripción de la imagen
supuesto, si desea ingresar una gran cantidad de contenido y es demasiado problemático, puede hacerlo copiando y pegando:

import pyperclip

pyperclip.copy('正在进行发中文试验,看到请忽略,更不要骂傻逼') # 复制
pyautogui.hotkey('ctrl', 'v') # 按下组合键的方法,ctrl+v粘贴
pyautogui.press('enter') # 按下按键

Por favor agregue la descripción de la imagen
De esta forma, hemos completado la función de envío automático de mensajes de WeChat.

programador

APScheduler es una biblioteca de Python que permite ejecutar la programación retrasada del código de Python, ya sea una vez o periódicamente. Se pueden agregar nuevas tareas o eliminar tareas antiguas en cualquier momento. Es muy conveniente para realizar tareas programadas.

scheduler = BlockingScheduler() # 实例化一个调度器
scheduler.add_job(main, 'date', run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任务
scheduler.start()

El método add_job pasa aquí 3 parámetros, el primero es la función que se ejecutará después de que se acabe el tiempo, y el segundo es el tipo de disparador. Aquí se selecciona el activador de fecha, que se activa en un punto de tiempo específico, y la tarea del trabajo solo se ejecutará una vez. El tercer parámetro run_date es el tiempo de ejecución. Antes de esto, he encapsulado el código para enviar automáticamente el mensaje a la función principal, simplemente llámelo cuando se acabe el tiempo.

código completo

import pyautogui
import pyperclip
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def main():
	pyautogui.PAUSE = 0

	icon_position = pyautogui.Point(x=148, y=879) # 任务栏图标位置
	entry_position = pyautogui.Point(x=174, y=751) # 输入框位置

	pyautogui.moveTo(icon_position, duration=1) # duration为执行时长,可选
	pyautogui.click(icon_position)
	pyautogui.moveTo(entry_position, duration=0.7)
	pyautogui.click(entry_position)
	pyperclip.copy('快去睡觉')
	pyautogui.hotkey('ctrl', 'v')
	pyautogui.press('enter')
    pyperclip.copy('笨猪')
	pyautogui.hotkey('ctrl', 'v')
	pyautogui.press('enter')
    
scheduler = BlockingScheduler() # 实例化
scheduler.add_job(main, 'date', run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任务
scheduler.start()

¡Hecho! Ahora puede ir a dormir.

resultado

Cuando me desperté a la mañana siguiente, mi madre me regañó y me preguntó por qué mi computadora todavía estaba encendida a las 12 de la noche y todavía estaba enviando WeChat.

Sin embargo, afortunadamente, mi novia no se perdió, ¡y completé con éxito la tarea de mi novia!
Por favor agregue la descripción de la imagen

Supongo que te gusta

Origin blog.csdn.net/csdnchengxi/article/details/123485628
Recomendado
Clasificación