[PYTHON] Travailler avec le tkinter et la souris

Contexte

・ J'utilise des temas dans mon entreprise. Si vous n'utilisez pas le PC pendant 15 minutes ou plus, l'état sera laissé. C'est un problème. ・ Parfois, je veux faire une pause. ・ J'ai pu utiliser la souris sur l'écran pour le moment, mais il peut y avoir divers bugs. ・ Parce que je suis un débutant en programmation, diverses choses ne se passent pas bien. Super personne pour aider.

Au fait, même si je déplaçais la souris avec le script, le statut des équipes était absent. Je suis désolé ...

Réel

Après avoir appuyé sur le bouton de démarrage,

    1. La souris se déplace de manière aléatoire pendant la durée spécifiée.
  1. Ouvrez le Bloc-notes et entrez la chaîne de caractères appropriée sur le clavier. (Mesures de surveillance du clavier. Pendant la maintenance)
    1. Recevez les dernières nouvelles. (Mesures de surveillance du trafic. Pendant la maintenance) Image.png

code

working.py


import tkinter as tk
import pyautogui as pgui
import random
import datetime
import time
import subprocess
import string
import requests

class Application(tk.Frame):
    def __init__(self, master):
        super().__init__(master)

        master.geometry("230x130")
        master.title("Working!")

        self.create_widgets()

    def create_widgets(self):
        self.grid(column=0, row=0, sticky=tk.NSEW, padx=5, pady=5)
        self.time_label = tk.Label(self, text="Désignation du temps(Minutes)").grid(column=0, row=0, pady=10)
        self.time_box = tk.Entry(self)
        self.time_box.insert(0, '60')
        self.time_box.grid(column=1, row=0, sticky=tk.EW, padx=3)
        self.work_label = tk.Label(self, text="Le travail d'aujourd'hui").grid(column=0, row=1, pady=10)
        self.status = tk.Label(self, text="Soyez sérieux à partir de maintenant")
        self.status.grid(column=1, row=1, sticky=tk.EW, padx=3)
        self.start_btn = tk.Button(self, text="début", command=self.we_love_work).grid(column=1, row=2)

    #Action du bouton
    def we_love_work(self):
        #action_flg = random.randint(1, 3)
        action_flg = 1
        self.status.config(text="Souris déconner") #Ne mettra pas à jour

        time_box_value = self.time_box.get()
        end_time = datetime.datetime.now() + datetime.timedelta(minutes=int(time_box_value))
        while True:
            if datetime.datetime.now() >= end_time:
               break

            if action_flg == 1:
                self.do_mouse()
            elif action_flg == 2:
                self.do_keyboard()
            elif action_flg == 3:
                self.do_news()

    def do_mouse(self):
        window_x = 1366
        window_y = 768
        for i in range(50):
            point_x = random.randrange(0, window_x)
            point_y = random.randrange(0, window_y)
            pgui.moveTo(point_x, point_y, duration=1)
            time.sleep(3)

    def do_keyboard(self):
        #Je peux utiliser le clavier, mais je ne peux pas bien écrire dans le mémo
        process = subprocess.Popen(r'C:\Windows\System32\notepad.exe')
        pgui.click(50, 50)
        for i in range(10):
            pgui.typewrite(self.random_string(100))
            pgui.typewrite('\r\n')
            time.sleep(3)
        process.kill()

    def do_news(self):
        keyword = "dernier"
        url = 'https://news.google.com/search'
        params = {'hl': 'ja', 'gl': 'JP', 'ceid': 'JP:ja', 'q': keyword}
        res = requests.get(url, params=params)
        print(res.text)
        time.sleep(60 * 3) #Peut-être vaut-il mieux laisser un intervalle approprié?

    def random_string(n):
        return ''.join(random.choices(string.ascii_letters + string.digits, k=n))

def main():
    win = tk.Tk()
    app = Application(master=win)
    app.mainloop()

if __name__ == "__main__":
    main()

Recommended Posts

Travailler avec le tkinter et la souris
Programmation avec Python et Tkinter
Async / await avec Kivy et tkinter
[Automation] Manipulez la souris et le clavier avec Python
MVC avec Tkinter
Devenez Père Noël avec Tkinter
Avec et sans WSGI
Créez une application graphique native avec Py2app et Tkinter
Créons une application Mac avec Tkinter et py2app
Avec moi, cp et sous-processus
Chiffrement et déchiffrement avec Python
Introduction à Tkinter 2: Button
Python et matériel - Utilisation de RS232C avec Python -
Exploitez LibreOffice avec Python
Python: travailler avec Firefox avec du sélénium
Gérer les sons en Python
Changement d'écran / transition d'écran avec Tkinter
[Python] Termin avec interface souris
Créer une visionneuse d'images avec Tkinter
Problèmes avec `visudo` ne fonctionnant pas sur Ubuntu 18.04 et sa solution de contournement
Exécuter Label avec tkinter [Python]
Super résolution avec SRGAN et ESRGAN
Group_by avec sqlalchemy et sum
python avec pyenv et venv
J'ai mesuré l'IMC avec tkinter
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
Avec moi, NER et Flair
Fonctionne avec Python et R
Communiquez avec FX-5204PS avec Python et PyUSB
Visualisation interactive avec ipywidgets et Bokeh
Briller la vie avec Python et OpenCV
Fonctionnement de la souris et du clavier Python avec pyautogui
Tri avec un mélange de chiffres et de lettres
Installez Python 2.7.9 et Python 3.4.x avec pip.
Réseau neuronal avec OpenCV 3 et Python 3
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
Travailler avec LibreOffice en Python: import
Easy Slackbot avec Docker et Errbot
Segmentation d'image avec scikit-image et scikit-learn
Processus d'authentification avec gRPC et authentification Firebase
Grattage avec Python, Selenium et Chromedriver
Jouez avec la série Poancare et SymPy
HTTPS avec Django et Let's Encrypt
Segmentation et regroupement de photos avec DBSCAN
Grattage avec Python et belle soupe
Sauvegarde NAS avec php et rsync
Encodage et décodage JSON avec python
Application GUI facile avec Tkinter Text
Traitement de chemin avec take while et drop while
Authentification de base, authentification Digest avec Flask
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Comparez DCGAN et pix2pix avec Keras
Utilisation de sessions et de réflexions avec SQL Alchemy
Lire et écrire NetCDF avec Python
Introduisez errBot et travaillez avec Slack
Enregistrer et récupérer des fichiers avec Pepper
J'ai joué avec PyQt5 et Python3