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 :

intéragir avec un logiciel avec un programme python


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Points : 21
    Points
    21
    Par défaut intéragir avec un logiciel avec un programme python
    Bonjour,

    Je souhaiterais savoir s'il est possible d'intéragir avec un logiciel existant (remplir des entrées, simuler un clic sur un boutons etc...) avec un programme python de préference, ou avec un quelquonque autre moyen non manuel.

    Les opérations que je voudrais automatiser sont:
    -Le remplissage de champs
    -La récupération d'informations présentées visuellement par le logiciel
    -Enfin la simulation d'un clic souris sur un bouton


    Merci d'avance, même si c'est pour me dire que c'est impossible.

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut
    Alors je te dis oui à tout

    En attendant les prochaines questions
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Ah merci beaucoup, c'est déjà une très bonne nouvelle. Ca ouvre pas mal de perspectives.

    Oserais-je demander comment? J'ai l'eau à la bouchemaintenant :

    Comment? Quelles libraries utiliser? Vraiment tout? même la récupération d'informations, c'est génial tous ça.

    Merci pour la bonne nouvelle, et merci d'avance pour les prochaines réponses que j'attends avec impatience.

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Citation Envoyé par johnraikonen Voir le message
    merci d'avance pour les prochaines réponses que j'attends avec impatience.
    Moi de même.
    Ce n'est pas possible, ou j'ai louper un passage.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut A
    @PauseKawa

    La fatigue, sorry

    @johnraikonen

    Tu peux commencer avec tkinter qui est une lib graphique déjà présente quand tu installes python.

    As-tu quand même les bases python?

    Essai d'utiliser tkinter et reviens nous voir si tu as des soucis.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    je pense que l'op cherche à automatiser des taches dans un logiciel existant, pas d'en créer un.

    certains logiciels disposent d'une interface com à laquelle tu pourras accéder avec la librairie win32com.

    je ne suis pas du tout à l'aise avec ça, je sais juste que ça existe

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut
    Ah d'accord, si c'est le cas, sans le nom du logiciel, difficile de donner une réponse, il faudrait en dire plus.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Excusez moi pour ma question un peu ambigue mais je souhaiterais en effet interagir avec un logiciel existant dont je n'ai bien sur pas les sources, donc je voudrais simuler en fait des actions qu'un utilisateur ferait avec ce logiciel.

    Après quelques recherches il semble en effet que la librairie Pywin32 puisse faire se genre de chose.

    En fait cela serait pour une application internet. En fait j'ai plusieurs idées au départ c'est pour une application que j'utilise au boulot dont on a accés par un reseau Citrix (excusez moi mais j'y connais rien de ce coté là). Puis je me suis dit, pourquoi pas pour une application, aussi accessible par internet, utilisé pour acheter ou vendre des actions (appelée Trader) mais ce n'est qu'hypotétique vu que je n'y connais rien a la bourse. Pour l'instant c'est juste pour voir si je peut interagir avec ce genre d'application.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    La technologie s'appelle "screen scraping". Elle consiste a simuler les entrées de l'utilisateur et à interpréter les retours affichées par l'application.

    C'est une techno qui permet de:
    - rajeunir de vieilles applications: on ne change pas le coeur, juste l'interface utilisateur en surface (les web mashups en sont une variante),
    - interfacer des applications existantes avec de nouvelles applications: il est quand même plus sain de récupérer commandes, clients par une interface cohérente avec la logique métier de l'application que d'aller récupérer des enregistrements dans la BDD en dessous,
    - tester les applications qui ont une interface graphique: tests fonctionnels ou de non régression, si on veut les "automatiser"...

    Python étant un langage de programmation généraliste pas de soucis pour réaliser ce genre d'applications. Ceci dit, comme la techno est ancienne et très utilisée, des solutions commerciales ou open source devraient à défaut de répondre à votre besoin au moins vous permettre de le préciser.

    Exemple:

    Puis je me suis dit, pourquoi pas pour une application, aussi accessible par internet, utilisé pour acheter ou vendre des actions (appelée Trader) mais ce n'est qu'hypotétique vu que je n'y connais rien a la bourse.
    • lancer le browser,
    • accéder à l'URL xyz,
    • lire ce qui est affiché à...


    Le screen scrapper contrôle dans ce cas le poste de travail de l'utilisateur et l'interaction avec l'application X n'est pas spécifique à celle-ci.

    Dans le cas d'une application "Web", on peut travailler directement avec l'application X via des bibliothèques comme mechanize: in fine, le clic déclenchant une requête http, s'interfacer au dessus d'http directement peut être intéressant pour "automatiser" avec un meilleur contrôle.

    Comme dans le http, il y a du JavaScript qui doit être interprété avant de pouvoir en faire quelque chose, mechanize n'est pas "bon" partout... Le webkit de Qt vous permet de travailler avec le JavaScript.

    Ce qui donne 3 façons de réaliser son "screen scraper" avec une application Web... et une idée de la complexité de ce qui se cachent derrière ces technos.

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

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Utiliser le Http pour une application web semble en effet le plus "propre". Mais avec les librairies incluses dans python (urllib2), on semble limité à envoyé un post ou un get.

    Je vais m'informer sur la lib Mechanize pour voir s'il y a les outils suffisant pour mon utilisation.

    Ce qu'il serait déjà bien c'est de pouvoir remplir des inputs HTML et pouvoir appeler une fonction Javascript ensuite.

    Edit: Apparement Selenium (en lib python) pourrait m'aider mais il manque de la Doc

Discussions similaires

  1. Programme pour un logiciel avec Python 3.2
    Par Amnael dans le forum Général Python
    Réponses: 14
    Dernier message: 12/08/2011, 10h21
  2. déployer un programme VB6 avec un logiciel gratuit
    Par megamario dans le forum Installation, Déploiement et Sécurité
    Réponses: 7
    Dernier message: 04/12/2010, 20h07
  3. Ouvrir un logiciel avec un programme
    Par liverbird dans le forum C++
    Réponses: 10
    Dernier message: 15/06/2006, 16h49
  4. Réponses: 3
    Dernier message: 27/08/2003, 21h14

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