IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

automatisation d'actions claviers


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    support technique
    Inscrit en
    Mars 2020
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : support technique

    Informations forums :
    Inscription : Mars 2020
    Messages : 79
    Par défaut automatisation d'actions claviers
    Bonjour,

    J'aimerai pouvoir automatiser certains actions :

    Faire un rapport via internet sur salesforce. Comme c'est dans l'environnement professional que ce soit selenium ou beautifullsoup m'envoie bouler, avec des erreurs de certificats. les scripts fonctionnent dès que je sors du VPN de ma boite.

    Aussi je me suis tourné vers un logiciel TypeItIn qui permet d'automatiser des actions claviers (suite de {tab} {fleche down}, {enter}, ....

    Je me demande si il n'est pas possible de faire la même chose via un script python :

    Je clique à un endroit et après je veux qu'il fasse 21 tab, 3 fleche down , ....

    Sauriez vous me dire vers ou je peux chercher ?

    J'ai bien évidement posé la question à Mr Google, mais je n'ai rien trouvé de significatif (question mal posée surement).

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour

    Je me suis penché sur ce problème il y a quelques temps pour un problème précis, et j'avais trouvé une solution probablement très insuffisante pour vous: c'est passer par le clipboard de Windows. En effet, le problème est de faire communiquer deux programmes qui s'exécutent indépendamment. Peut-être y a-t-il des solutions qui rentrent plus profondément dans Windows (voir le module pywin32):
    https://pypi.org/project/pywin32/

    Voir ici ce que j'avais fait en tant que petite source d'inspiration:
    https://www.developpez.net/forums/d1...ines-logiciel/

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 219
    Par défaut
    Hello,
    tu peux essayer de regarder du côté de pynput
    Ami calmant, J.P

  4. #4
    Membre confirmé
    Homme Profil pro
    support technique
    Inscrit en
    Mars 2020
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : support technique

    Informations forums :
    Inscription : Mars 2020
    Messages : 79
    Par défaut
    merci, pyinput est intéressant,

    Je déclenche au double click de ma souris comme ça je choisis dans qu'elle appli je veux qu'il lance le reste de mes commandes.

    JE vais creuser

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par figuedi Voir le message
    J'ai bien évidement posé la question à Mr Google, mais je n'ai rien trouvé de significatif (question mal posée surement).
    Les mots clefs pour chercher sont "python automate desktop application" qui donne ce genre d'articles (et un tas de bibliothèques à évaluer).

    Plus généralement, ne rien trouver sur Internet est effectivement le plus souvent un problème de mots clefs mais un problème de mots clefs n'est pas un sujet Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre confirmé
    Homme Profil pro
    support technique
    Inscrit en
    Mars 2020
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : support technique

    Informations forums :
    Inscription : Mars 2020
    Messages : 79
    Par défaut
    Voici avec pyinput le premier jet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    from pynput.keyboard import Controller
    from pynput.mouse import Listener, Button
    import time
     
    keyboard = Controller()
    an_tps_g = 0
     
     
    def disbonjour():
        for letter in ('Bonjour tu vas bien'):
            keyboard.press(letter)
            keyboard.release(letter)
     
     
    def on_click(x, y, button, pressed):
     
        global an_tps_g
        double_click_gauche = False
     
        if pressed and button == Button.left:
            nv_tps_g = time.time()
            dif_g = nv_tps_g - an_tps_g
            # print(dif_g)
            if dif_g < 0.3:
                double_click_gauche = True
            an_tps_g = nv_tps_g
     
        if double_click_gauche:
            # print("c'est un double click")
            disbonjour()
            return False
     
     
    with Listener(on_click=on_click) as listener:
        listener.join()
    Je vais donc pouvoir faire mes macros qui s'exécuteront au double click gauche, droite, ou milieu mais également en cas de pression rapide de deux touches clavier à la suite.

    Merci

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 219
    Par défaut
    Hello,
    si ton Sales Force a un serveur REST API accessible tu peux aussi essayer ceci :

    simple-salesforce 1.12.5

    ami calmant, J.P

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur Système
    Inscrit en
    Novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Système

    Informations forums :
    Inscription : Novembre 2019
    Messages : 22
    Par défaut
    Bonjour,

    Pour ma part, dans une vie antérieure , j'ai utilisé AutoIt pour automatiser certaines actions.
    Dernièrement, j'ai découvert qu'il existait PyAutoIt, un module Python qui gère/embarque AutoIt (toutes les fonctions de celui-ci sont donc disponible).

    A l'époque, l'avantage que j'avais trouvé à AutoIt, c'était la gestion des objets graphiques (on pouvait directement utilisé les id des fenêtres, boutons etc...). Un petit outil était fourni (AutoIt Window Info Tool) qui permettait de récupérer ces id et/ou les coordonnées des éléments (soit relatives à l'écran, à la fenêtre etc...). C'était super pratique.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] [Graph] Actions clavier dans la fenêtre graphique
    Par Pfeifer dans le forum Free Pascal
    Réponses: 6
    Dernier message: 04/07/2012, 20h00
  2. ouvrir une autre page après une action clavier
    Par Jahjouh dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/06/2008, 15h23
  3. Réponses: 1
    Dernier message: 21/08/2007, 20h57
  4. [Problème] actions Clavier
    Par joker.benj dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 14/05/2006, 19h56
  5. [Virtual Pascal] [OWL] Actions clavier dans un dialogue non modal
    Par Alcatîz dans le forum Autres IDE
    Réponses: 3
    Dernier message: 28/07/2005, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo