Piloter des pages web

Fermé
ph412 Messages postés 45 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 11 décembre 2017 - Modifié le 2 mai 2017 à 16:10
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 2 mai 2017 à 23:26
Bonjour,

Je suis débutant en Php et je souhaite piloter des pages web.
Par piloter j'entends : me connecter à une page web, simuler des clicks, activer des bouton radio...

Je sais le faire en VBA et pour cela j'utilise getelementbyid, getelementbyname...
J'ai fais mes recherches en php et je tombe sur des objets DOM.

Bref savez-vous comment piloter ( et pas seulement lire ) une page HTML avec php ?
Je vous remercie par avance.
A voir également:

4 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
2 mai 2017 à 17:11
Salut,

Une piste parmi d'autres : https://www.selenium.dev/

Bonne journée,
0
ph412 Messages postés 45 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 11 décembre 2017
2 mai 2017 à 19:17
Je me permet d'indiquer le lien pour vba pour le pilotage de page web:
https://qwazerty.developpez.com/tutoriels/vba/ie-et-vba-excel/

Pour moi php est un langage web, si vba peux le faire c'est surement réalisable en php.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 mai 2017 à 19:23
Bonjour,

Php sert à créer des pages web ... pas à "piloter" des pages web ....
Le PHP s'exécute côté SERVEUR .... la détection ou l'action des clics .. se passent côté "poste utilisateur" (côté client)....
Donc non .. le PHP ne permet pas, comme le VBA, de "piloter" des pages web.

Tu ne peux, éventuellement, que faire des "requêtes" POST ou GET en utilisant, par exemple, Curl.


0
ph412 Messages postés 45 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 11 décembre 2017
Modifié le 2 mai 2017 à 21:32
"Donc non .. le PHP ne permet pas, comme le VBA, de "piloter" des pages web. "

Voici des liens que j'ai trouvé qui parle de ce que je souhaite :

https://simplehtmldom.sourceforge.io/
https://sourceforge.net/projects/simplehtmldom/?source=typ_redirect
https://simplehtmldom.sourceforge.io/manual_api.htm#api


http://htmlparsing.com/php.html
https://www.php.net/manual/fr/domdocument.getelementbyid.php

Cela vous semble toujours aussi impossible ?

Si j'ai bien compris il existe des API qui réalise ce que je souhaite faire.
Je n'ai toujours pas réussi à faire fonctionner ce que je souhaite.

Aussi ce code ne possede pas d'erreur mais je ne le comprend pas.
Je l'indique dans le code ou des personnes souhaitent allé dans mon sens...

 # Use the Curl extension to query Google and get back a page of results
$url = "https://www.google.fr/";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);

# Create a DOM parser object
$dom = new DOMDocument();

# Parse the HTML from Google.
# The @ before the method call suppresses any warnings that
# loadHTML might throw because of invalid HTML in the page.
@$dom->loadHTML($html);

# Iterate over all the <a> tags
foreach($dom->getElementsByTagName('a') as $link) {
# Show the <a href>

echo $link->getAttribute('href');
echo "<br />";
}
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > ph412 Messages postés 45 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 11 décembre 2017
Modifié le 2 mai 2017 à 23:27
Oui je maintiens !
Les liens que tu nous donnes.... sont des PARSER !
Donc soit tu ne nous as pas clairement expliqué ce que tu espères faire .... soit (et je pense que c'est ça....... ) tu n'as pas compris le contenu de tes liens !

Pour info :

Le terme parser (le parsing est réaliser par un parser) est généralement utilisé pour désigner le fait, pour un logiciel, de lire le contenu d'un document HTML ou XML (bien que cette notion exsite aussi entre autre en annalyse lexicale, dans la plus part des applications d'anlyse de texte comme la correction d'orthographe ou la traduction...).

Cela consiste à lire un flux (c-a-d en l'occurence une suite de caractère) comme on lirait un texte pour bâtir une représentation interne et, à chaque élément que rencontre le parser, identifier sa sinification afin de le rattacher la représentation.

Les "langages" des flux à parser sont généralement structurés comme des arborescences. le parser a alors pour but de créer une arborescence binaire interne équivalente à la première c'est le cas des documents XML et des pages web.


Le "contenu" de la page web est alors stocké dans une variable ... que tu peux "manipuler" ( la variable hein... pas la page elle même contrairement à ce que tu semblais vouloir faire !!! )
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
2 mai 2017 à 16:12
Je pense que avant d'apprendre PHP, il vous faudrait d'abord étudier HTML, puis CSS
-1
ph412 Messages postés 45 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 11 décembre 2017
2 mai 2017 à 16:13
Bonjour,

je connais le fonctionnement des balises HTML, le CSS je n'en pas vraiment besoin pour ce que je souhaite faire.

Bien cordialement.
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
2 mai 2017 à 16:54
« simuler des clicks »

Je comprends des liens

« activer des bouton radio »

Je comprends formulaire d'entrée de type radio

Mais autant pour moi ;-)
-1