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

JavaScript Discussion :

Interagir avec une page web dans une page web


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Interagir avec une page web dans une page web
    Bonjour, je m’explique, ce que je cherche à faire est de repérer un id dans une page web.
    mais pour compliquer la chose, c'est un id qui appartient à une autre page en réalité:

    J'ai chargé une page web dans une autre (que j'ai créé), et je voudrais remplir les champ de formulaire de cette page.

    En gros pour prendre un exemple, c'est comme si je voulais me log depuis une page html perso, à facebook que j'ai chargé dans cette dernière.
    ma page web contient facebook, et je veux remplir les champs de formulaire avec js (document.getelementbyid("login_username").value = "aladeen";...

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    C'est quoi la question concrètement ? Tu veux savoir comment faire ? Personnellement j'ai déjà essayé ce genre de chose mais avec la console, on peut remplir des champs, faire des sélections et on peut même (via du JS) déclencher un clique sur un bouton...

    Mais pour faire ça à partir d'une page je suppose que tu utilises (ou compte utiliser) des iframes ? Si oui il y a un problème de Same-origin policy quand les deux pages ont un domaine différent... Il me semble avoir pu éviter le problème parfois en lançant le navigateur avec des options spéciales mais peut-être qu'on peut s'en sortir avec un serveur local et que ce serait plus simple ?

    Le cas s'est présenté plusieurs fois dans ce forum, exemple :

    SpaceFrog avait donné un lien ici : Exécuter des actions sur une page dans un iframe qui se trouve dans un autre domain... En voici un autre : https://javascript.info/cross-window-communication...-

    Et dans ce fil Bouton de recherche on avait discuté d'un exemple concret.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui du coup j'ai utilisé une iframe.

    Celle-ci contient donc la page de garde du site en question.

    Ce que je voudrais donc faire c'est le remplissage des champs de login (identifiant et mot de passe) ainsi que leur validation.

    J'ai déjà repérer les id de ceux-ci, j'arrive à m'en sortir via la console, mais dans mon code js impossible d'identifier (et donc de modifier) les champs de saisies.

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Sans exemple difficile de tester mais j'avais posté un exemple ici : #14 , on voit notamment l'usage de "contentWindow".

    PS : J'avais aussi entre temps modifier mon premier message de ce fil (j'ai ajouté des liens)

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Pour accéder au document de la iframe : contentDocument

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ne m'y connaissant pas énormement je pense ne pas avoir bien manipulé les données:

    Dans ma page html j'ai le code suivant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe id="frame_do" src="https://www.darkorbit.fr/" width="100%" height="1000px" class="do_page"></iframe>

    Et dans mon script je demande la chose suivante (qui n'aboutie pas) :
    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
    var documentIframe = document.getElementById("frame_do").contentDocument;
    var identifiant = documentIframe.getElementById("bgcdw_login_form_username");
     
    function main()
    {
    	identifiant.value = "moi";
    }
     
    fonction_chargement = function()
    {
    	if (identifiant == null)
    	{
    		setTimeout("fonction_chargement()", 500);
    		console.log("wait");
    	}
    	else
    	{
    		console.log("go");
    		main();
    	}
    }
     
    fonction_chargement();
    j’espère que ça va vous aider à cerner mon problème ^^

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je crois que je viens de comprendre , il est strictement impossible d'utiliser un code js sur une page annexe, même si celle-ci est dans une iframe.
    (sauf si la page annexe nous appartient alors on peut désactiver la same origin privacy)

    Du coup, autre question, est-il possible d’effectuer un remplissage de formulaire via un autre langage ? (C par exemple...)

  8. #8
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Oui moi aussi j'ai fait plusieurs tests en vain, j'ai ce problème de sécurité : Uncaught DOMException: Blocked a frame with origin "file://" from accessing a cross-origin frame.

    Je pense que c'est à ce que je disais :

    Citation Envoyé par Beginner. Voir le message
    ... Si oui il y a un problème de Same-origin policy quand les deux pages ont un domaine différent...

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Si tu es le propriétaire des deux site et que tu as la main sur le code des pages des deux sites, tu peux octroyer des droits.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui voilà, j'ai exactement le même message d'erreur...

    Et non le site cible ne m'appartient pas ^^ malheureusement.

    Du coup juste pour une question à part, puis-je faire un code (en C entre autre), permettant de me connecter au site de mon choix, de me loger dedans...
    (Et par la suite d'effectuer des action rudimentaires)

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas légal ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Il semblerait que si: en simulant l'utilisation d'un robot

    Ou sinon via Tampermonkey, le script marche correctement

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Tu peux interagir au moyen de ton navigateur avec des scripts (greasemonkey, console ou autre)
    Mais tu ne peux pas récupérer des pages de sites qui ne t'appartiennent pas pour les afficher sur ton site ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui j'en suis bien conscient, je veux uniquement une porté local afin d'effectuer quelques maccros

  15. #15
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Tu peux interagir au moyen de ton navigateur avec des scripts (greasemonkey, console ou autre)
    Mais tu ne peux pas récupérer des pages de sites qui ne t'appartiennent pas pour les afficher sur ton site ...
    Ben c'est justement entre autres ce que les iframes sont censées permettre de faire, non ? Du coup veux-tu dire qu'on ne peux pas parce que c'est illégal ou bien parce que c'est impossible techniquement ? Par contre c'est vrai que j'ai remarqué que plusieurs sites ne peuvent pas être chargées dans une iframe, il semble que ces site utilisent une option (X-Frame-Options) pour cela, pour le site de google par exemple la page ne s'affiche pas et j'ai ce message d'erreur : Refused to display 'https://www.google.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'. .

    Citation Envoyé par SpaceFrog Voir le message
    Ce n'est pas légal ...
    C'est quoi exactement qui serait illégal ?

    Citation Envoyé par theart Voir le message
    Il semblerait que si: en simulant l'utilisation d'un robot
    Ben du coup je me demande comment font les robots ? Je ne m'étais pas poser la question avant mais je comprends mieux pourquoi il y a ces protections contre les robots qu'on peut voir dans certains sites...

    Citation Envoyé par theart Voir le message
    Du coup juste pour une question à part, puis-je faire un code (en C entre autre), permettant de me connecter au site de mon choix, de me loger dedans...
    (Et par la suite d'effectuer des action rudimentaires)
    J'ai fait un test en Java et ça a marché, le programme utilise un composant JavaFx (un navigateur) pour charger la page et ensuite on peut exécuter du JS sur cette page via du code Java...

    Mais je ne vois pas pourquoi ce serait illégal ??? Tout ceci est mis à notre disposition et c'est finalement similaire à ce qu'on peut faire avec la console des navigateurs sauf peut-être le coté "automatique" ???

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    De façon locale avec scriptish ou greasemonkey ...
    Sinon les iframe ne permettent pas l'interaction entre domaines toujours en raison du Same Origin Policy...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/01/2018, 13h38
  2. Réponses: 0
    Dernier message: 10/07/2012, 00h14
  3. Réponses: 6
    Dernier message: 08/08/2011, 01h07
  4. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  5. Mettre une note de bas de page \footnote dans une légende d'image \caption
    Par Lyana dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 9
    Dernier message: 04/08/2008, 16h58

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