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

Lazarus Pascal Discussion :

Interaction avec un navigateur


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Par défaut Interaction avec un navigateur
    Bonjour.

    Est-il possible d'interagir avec un navigateur (ou le navigateur par défaut) et lui faire exécuter une commande par programmation ?

    Un exemple pour être plus précis : sous W10, j'aimerais pouvoir dans mon programme Lazarus demander à Chrome de vider son cache (équivalent de ce qui peut être fait en cliquant sur le bouton de menu, en choisissant paramètres puis "Effacer les données de navigation", en cochant uniquement la 3ème case "Images et fichiers en cache" et enfin en cliquant sur "Effacer les données").

    D'avance merci.

  2. #2
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut dans l'absolue non, pas à ma connaissance, mais en lançant une ligne de commande (avec TProcess) c'est possible. Tu devras cependant adapter tes commandes en fonction du navigateur cf :
    https://stackoverflow.com/questions/...mmand-line-osx
    https://superuser.com/questions/3939.../920604#920604
    https://superuser.com/questions/5090...g-command-line

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 197
    Par défaut
    hello,
    avec selenium et un webdriver ça serait possible.
    Selenium est un framework de test informatique développé en Java.
    Il permet d'interagir avec différents navigateurs web de même que le ferait un utilisateur de l'application. Il entre ainsi dans la catégorie des outils de test dynamique (à l'inverse des tests statiques qui ne nécessitent pas l'exécution du logiciel) facilitant le test fonctionnel.
    Il est associé à

    • Selenium IDE, extension Firefox, pour l'utiliser ;
    • Selenium WebDriver, successeur de Selenium Remote Control (RC) devenu depuis officiellement obsolète1. Il permet d'écrire des tests automatisés en différents langages (PHP, Python, Ruby, .NET, Perl et Java).

    Comme on peut le constater il n'y a pas le langage pascal dans les langages proposés. Je suis tombé récemment sur le github d' Eric Wang avec le titre du projet :
    Webdriver For Delphi lazarus.
    Cela semble bien avancé, le seul souci, c'est que la partie Lazarus semble avoir été abandonnée en cours de route et donc le code ne doit fonctionner actuellement qu'avec Delphi.
    Si quelqu'un avait du temps à consacrer pour voir si il y a beaucoup de boulot pour faire fonctionner le code avec Lazarus ou si cela se révèle difficile.

    Voici un exemple de programmation avec W4D pour commander Chrome :
    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
    procedure TestTWebDriver.TestExecuteScript;var
      xxx: string;
      FWD: TWebDriver;
    begin
      FWD :=TChromeDriver.Create(nil);
      FWD.Port :=6666;
      FWD.StartDriver('WebDriver\ChromeDriver.exe');
     
      FWD.Clear;
      FWD.NewSession;
      FWD.Set_Window_Size(1366, 768);
      FWD.Implicitly_Wait(3000);
      FWD.GetURL('https://passport.weibo.cn/signin/login');
      // FWD.ExecuteScript('document.getElementById("loginPassword").value="12121212"');
      // xxx := FWD.ExecuteScript('return document.title');
      xxx := FWD.ExecuteScript('return document.body.innerHTML');
      // Copie Ecran
      FWD.ScreenShot('..\temp.png');
    end;
    Ami calmant, J.P


  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Par défaut
    Bonjour.

    Les différents liens proposés m'ont permis de trouver l'emplacement du cache de Chrome sous W10 :
    C:\Users\Nom de l'utilisateur\AppData\Local\Google\Chrome\User Data\Default\Cache

    Je remarque certaines choses étonnantes :
    • J'ai (par exemple à l'instant) 1516 éléments dans ce répertoire mais un utilitaire appelé ChromeCacheView recense 7977 items
    • Si je demande à Chrome d'effacer les images et fichiers en cache, je tombe à 926 éléments et 6634. Quels sont les fichiers conservés ?
    • J'avais essayé d'effacer manuellement tout le contenu du répertoire. Les fichiers appelés index, data_0, data_1, data_2 et data_3 ont été conservés (a priori car ouverts dans Google Chrome). Suite à cela, les sites que je consulte habituellement s'affichaient mal, m'obligeant à les actualiser ... Pas essayé de tout effacer en fermant Chrome d'abord.

    En revanche, toujours pas trouvé comment faire ce que je voulais qui a priori me paraissait simple.

    PS : assez bluffé par cet utilitaire appelé ChromeCacheView (taille 145 ko !), si quelqu'un sait comment il réussit à trouver toutes ces infos ...

  5. #5
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut

    tu ne doit pas avoir que dans le dossier "Default", et tu as aussi l'historique qui est mis en cache et tu as surement des sous-dossiers. De plus lorsque tu supprimes toutes les données du cache, il faut mieux fermer le navigateur. C'est d'ailleurs ce que demande la majorité des utilitaires de nettoyage que je connaissent. Ensuite pour les infos, il doit surement y avoir un fichier répertoriant ce que tu vois dans ChromeCacheView à mon avis. Faudrait que tu recherches sur le site de dev de chrome pour obtenir plus d'infos

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

Discussions similaires

  1. [HELP] Interaction avec un navigateur
    Par FlorentHH dans le forum Général Python
    Réponses: 3
    Dernier message: 09/09/2017, 20h03
  2. Interaction avec navigateur
    Par mikhailo dans le forum VBScript
    Réponses: 4
    Dernier message: 28/11/2012, 17h14
  3. Editer un XML avec un navigateur internet...
    Par kobe dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2005, 12h58
  4. [ant]: interaction avec le manager de tomcat
    Par sleepy2002 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/10/2004, 15h02
  5. Réponses: 4
    Dernier message: 17/05/2004, 09h57

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