Pilotage de chrome et firefox

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Pilotage de chrome et firefox

Message par Kwai chang caine »

Bonjour à tous

Quelqu'un aurait il une piste pour pouvoir piloter chrome et/ou firefox avec PB

Pour IE c'est assez facile, avec le DOM et le COM..
Mais pour ce qui est de chrome....j'ai cherché et pas trouvé grand chose

Merci et bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Pilotage de chrome et firefox

Message par nico »

Qu'est ce que tu entends par piloter?
Récupérer le code Html?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pilotage de chrome et firefox

Message par Kwai chang caine »

Bonjour NICO,

Non en fait ce que tu as déjà fait je crois de mémoire avec IE.
Pouvoir remplir les champs, sélectionner les listes, cliquer sur les liens, etc ....
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Pilotage de chrome et firefox

Message par nico »

J'avais besoin pour un programme de récupérer le code HTML justement sur IE, Firefox et Chrome, j'ai trouvé une extension pour Firefox MozRepl (tu peux faire pas mal de truc mais c'est pas évident de comprendre les commandes) mais rien pour Chrome (Du coup je fais un CTRL U par code)

Un extrait de code pour récupérer le code HTML avec l'extension MozRepl pour Firefox:

Code : Tout sélectionner

InitNetwork()

Port = 4242

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)

If ConnectionID
  
  Repeat
    Delay(100)
    
    Longueur = 4096  
    *BufferMemoire = AllocateMemory(Longueur)
    
    nb.l= ReceiveNetworkData(ConnectionID, *BufferMemoire, Longueur) 
    Debug nb
    
    Debug PeekS(*BufferMemoire,nb,#PB_Ascii)
    
  Until fin = "repl> " Or fin = "....> "
  
  If *BufferMemoire <> 0
    FreeMemory(*BufferMemoire)
    *BufferMemoire = 0
  EndIf 

  If fin = "repl> "Or fin = "....>"
    memory.s = Space(55)
    PokeS( @memory, "window.content.top.document.documentElement.innerHTML"+ #CRLF$, 55, #PB_Ascii)
    ;Debug memory
    SendNetworkData(ConnectionID, @memory , 55)
    
    Repeat  
      
      If *BufferMemoire <> 0
        FreeMemory(*BufferMemoire)
        *BufferMemoire = 0
      EndIf 
      
      Longueur = 4096  
      *BufferMemoire = AllocateMemory(Longueur)
      
      nb.l= ReceiveNetworkData(ConnectionID, *BufferMemoire, Longueur) 
      Debug nb
      
      texte.s = texte+ PeekS(*BufferMemoire,nb,#PB_Ascii)
      
    Until fin = "repl> " Or fin = "....> "
  EndIf
EndIf
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pilotage de chrome et firefox

Message par Kwai chang caine »

Merci beaucoup NICO
Je ne connaissais pas ce "MozRepl" 8O
Je vais y jeter un oeil

C'est quand même dingue qu'a notre époque ou le net est de partout, ou justement les navigateurs vont remplacer les exe petit à petit, il n'y ai pas plus de moyen de pilotage.
Pourtant beaucoup de personnes ont besoin de ce genre de code.
Y'a des programmes qui arrivent à le faire, mais ils sont payants :(

J'avais trouvé un freeware qui avait une toute autre approche de la télécommande, j'avais trouvé ça cool : Sikuli
http://www.sikuli.org/
Mais apparemment pour faire ça en PB, faut être une "chetron sauvage"
Il analyse l'écran et trouve les parties pour cliquer dessus ou autres actions 8)

En PB j'avais trouvé un code deja de ouf de DarkDragon, mais il est trop lent :(
http://www.purebasic.fr/english/viewtop ... 78#p374278

On pourra dire ce qu'on veut de IE, mais avec l'OLE et surtout le DOM on peut faire un peu ce qu'on veut avec le navigateur 8)
C'est loin d'etre simple, mais ça fonctionne....le probleme c'est le navigateur lui même qui marche pas, pas la télécommande :lol:

C'est pourquoi, je commençais à me pencher sur ce probléme, pour essayer de faire la même chose avec CHROME qui est bien plus rapide et stable.
Alors y'a une usine à gaz a l'intérieur, on peut tout programmer, mais c'est super compliqué.
J'ai même pas compris si on pouvait utiliser le langage de prog interne pour le piloter :oops:
Peut etre que oui, car apparemment on peut modifier le navigateur à souhait, faire des extensions etc...
Alors je me suis dit que le piloter est peut être dans les cordes de la console javascript....mais la...ça dépasse mes compétences et loin de la
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pilotage de chrome et firefox

Message par doudouvs »

Salut,

pour Chrome :
https://github.com/kzys/chromerepl
http://developer.chrome.com/extensions/extension.html

Quand j'ai des truc perso a faire j'utilise l'extension imacro
Si je doit l'inclure dans un programme je préfère parser le contenu de la page au moins il n'y a pas de soucis de portabilité
C'est quand même dingue qu'a notre époque ou le net est de partout, ou justement les navigateurs vont remplacer les exe petit à petit, il n'y ai pas plus de moyen de pilotage.
Pourtant beaucoup de personnes ont besoin de ce genre de code.
Y'a des programmes qui arrivent à le faire, mais ils sont payants
Du moment qu'il y à navigateur il y a toujours moyen, c'est bien la chose la plus pourrie qu'il on crée
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pilotage de chrome et firefox

Message par Kwai chang caine »

Cooooollll !!! Merci beaucoup Doudouvs :D
C'est la première fois que l'on se parle, et pour cette première fois deja un cadeau .... 8)
Alors bienvenue chez nous :wink: (Je t'aurais souhaité la même chose, même si tu avais pas fait de cadeau :lol:)

Je vais aussi essayer ça, ils disent que c'est le pendant de MozRepl la combine que m'a donné NICO pour FF

Qu'est ce que tu veut dire par pourrie ???
Le pilotage ???

Tu préfères une autre méthode que de passer par le navigateur peut être ??
Envoyer directement les requettes ??

Parce que je sais pas vraiment par ou commencer pour faire ce boulot qui est de plus en plus nécéssaire du fait de l'envahissement des applications intranet et internet :?
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pilotage de chrome et firefox

Message par doudouvs »

merci pour ton accueil, c'est pas un cadeau c'est du partage :)
Qu'est ce que tu veut dire par pourrie ???
Le pilotage ???
Vu que c'est le navigateur donc ton PC/Mac/Linux qui interprete c'est vraiment un problème trop facile a Hacker, sans rentrer dans les détails car j'ai pas envie que l'on me prenne pour un hacker.
Tu préfères une autre méthode que de passer par le navigateur peut être ??
Envoyer directement les requettes ??
Oui tu récup le code de la page dans une variable, tu parse ce dont tu a besoin tu l'inclus éventuellement dans un tableau et tu construit les requêtes ton prog sera bien plus rapide et tu n'aura pas les (m...) du javascript
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pilotage de chrome et firefox

Message par Kwai chang caine »

car j'ai pas envie que l'on me prenne pour un hacker.
C'est vrai pas de ça chez nous. :?
Mais j'ai pas la langue de bois, c'est le principal de mes defauts, et je sais que c'est pas bien, mais moi les hackers, je les admires 8O
En fait ce que j'admire c'est leur connaissances, parfois leurs actions à la robin des bois, mais surtout leur connaissances.
J'y peut rien..comme j'admire la connaissance, je ne peux faire l'impasse sur eux, un grand phylosophe dont je ne me rappelle plus le nom a dit un jour : "Nul ne peut ignorer le coté obscur de la force heuuuuu aaaaaaah heuuuuu aaaaaaahhh"
J'me rapelle maintenant, je crois que c'est dark vador :mrgreen:
Et puis même les corbeaux ont droit à avoir des fans non !!! :lol:
merci pour ton accueil, c'est pas un cadeau c'est du partage
Sur ce forum tu verras y'a de tout, du "caractere", du rigolo, du triste, de la passion, de l'entraide, etc ....et surtout de l'accueil.
On est toujours content de trouver un nouveau membre de "la famille" 8)
Oui tu récup le code de la page dans une variable, tu parse ce dont tu a besoin tu l'inclus éventuellement dans un tableau et tu construit les requêtes ton prog sera bien plus rapide et tu n'aura pas les (m...) du javascript
J'avais pensé à ça aussi.
Mais bon malgré un stage de trois semaines sur le WEB, j'ai pas retenu grand chose, etant donné que je ne l'ai pas utilisé derriere :cry:
Je déteste cette programmation bordelique, a plusieurs langages, non typé et encore plein d'autres défauts...en fait je les lui trouve tous :mrgreen:
Le seul point positif .....c'est que les GIFS marchent :mrgreen: (Les autres comprendrons !!)
Mais bon.... je déteste aussi les piqures..et j'suis bien obligé de descendre mon pantalon des fois :cry:

Je suis content que tu me confirme cette méthode, je vais aussi me pencher dessus.
Comment simuler le remplissage d'un champs, je suppose qu'il faut remplir le value=""
Comment simuler un clic, en principe dans la balise <A> y'a le lien à suivre...mais connaissant ce langage de m...y'a surement plein d'exceptions..

Bon, je continue mes recherches dans le domaine du pilotage, soit par navigateur avec les combines des copains, soit "in utero" :D comme tu viens de me le proposer 8)

Encore merci de ta réponse et bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pilotage de chrome et firefox

Message par doudouvs »

Oula le code php est vraiment pourrie ne pas mettre ça sur un site.


Pour faire simple tu regarde le code de la page ou tu souhaite soumettre ta requête
formulaire.php qui envoi sur cible.php avec 3 inputs (name,firstname,age)

Voila les éléments que tu doit repérer
method,cible,input

Code : Tout sélectionner

<form method="POST" action="cible.php">
    
          <input type="text" name="name" value="">
          <input type="text" name="firstname" value="">
          <input type="text" name="age" value="">
    
          <input type="submit" name="send" value="Valider" />
</form>
Ta requête devra etre comme ceci :
cela va envoyer de formulaire.php sur cible.php?name=dupont&firstname=justin&age=25&send=Valider

Code : Tout sélectionner

Arg$ = "?name=dupont&firstname=justin&age=25&send=Valider"
Le plus simple et que tu fasse des testes directement dans le navigateur
formulaire.php?name=dupont&firstname=justin&age=25

Le code de test php de formulaire.php

Code : Tout sélectionner

<?
	$name            = isset($_REQUEST['name']) ? $_REQUEST['name'] : "";
	$firstname       = isset($_REQUEST['firstname']) ? $_REQUEST['firstname'] : "";
	$age             = isset($_REQUEST['age']) ? $_REQUEST['age'] : "";
?>
<html>
<body>
	<FORM name="formulaire" method="GET">
       		<input type="text" name="name" value="<? echo htmlspecialchars($name); ?>">
       		<input type="text" name="firstname" value="<? echo htmlspecialchars($firstname); ?>">
       		<input type="text" name="age" value="<? echo htmlspecialchars($age); ?>">
          <input type="submit" name="send" value="Valider" />
   </form>
</body>
</html>
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Répondre