Partage
  • Partager sur Facebook
  • Partager sur Twitter

Interagir avec une page Internet (CefSharp)

    22 août 2017 à 13:37:58

    Salut ! Il n'y a pas beaucoup de tuto en Français, même aucun pour CefSharp, et même après avoir testé les possibles formes de code ça ne résout en rien mon problème :/

    J’méxplique, j'aimerais interagir avec une page internet, via son code (ID), avec WebBrowser incorporé dans Visual Studio et le code pour interagir avec une page marche parfaitement ^^

    Mais avec le Browser de Visual Studio je ne peut pas faire ce que je veux... Donc j'ai du choisir CefSharp, et dessus tout est ok mais ça ne marche par si je veux le faire interagir avec la page.. Le code : 

    chromeBrowser.ExecuteScriptAsync("document.getElementsByID('L09').submit()");

    Et si je lance le logiciel voilà l'erreur qu'il m'affiche : 

    (J'espère m'être fait comprendre..)

    Voilà, si vous avez une idée j'suis preneur !

    Bonne journée à tous

    • Partager sur Facebook
    • Partager sur Twitter
      22 août 2017 à 15:00:44

      Beaucoup beaucoup d'erreur de compréhension.

      Vous devez commencer par maitriser les concepts avant de vous lancez dans un tel projet.

      >Il n'y a pas beaucoup de tuto en Français

      En Informatique, c'est en Angliche, et l'Anglais technique, ça va, c'est pas Shakespeare non plus.

      > et même après avoir testé les possibles formes de code

      Faut comprendre avant de "tester".

      C'est quoi la strat ? Sur un malentendu ça peut tomber en marche ???

      >j'aimerais interagir avec une page internet

      Une "page internet", c'est quoi ??? Sans déconner ?

      Une page Web ou une réponse HTTP, on peut vaguement deviner de quoi vous parlez de manière vague, mais "page internet", ça n'existe pas.

      On va dire que c'est "page Web", mais on n'interagit pas avec une "Page Web", comme on n'interagit pas avec un fichier.

      On peut interagir avec le serveur Web l'hébergeant, via des requêtes HTTP.

      On peut interagir avec un DOM construit dans un navigateur Web, à partir d'une réponse HTTP contenant du HTML.

      Mais on n'interagit pas avec une "page Web" !!!

      >via son code (ID)

      C'est quoi cette conn...., une "page Web", ça a une URL ou une URI, mais pas d'"ID".

      Des "Tags HTML/élements XHTML" peuvent avoir un attribut XML "ID", mais ce n'est pas une "page", c'est un élément du DOM dans le navigateur.

      >avec WebBrowser incorporé dans Visual Studio

      Il n'y a pas de "WebBrowser" incorporé dans Visual Studio, de quoi parlez-vous ???

      >et le code pour interagir avec une page marche parfaitement

      Faudrait me donner l'adresse de son bottier, parce qu'il doit être balaise pour faire marcher un truc qui n'a pas de jambes puisque cela n'existe pas.

      >Mais avec le Browser de Visual Studio je ne peut pas faire ce que je veux

      Normal, ça n'existe pas. Mais à la limite, si vous voulez rien (vous ne l'indiquez pas donc, à la limite ça peut être "rien"), ça peut fonctionner par un passage à la limite que nos amis les topologistes ont le secret.

      >Donc j'ai du choisir CefSharp,

      Ça dû être un choix murement réfléchie. o_O

      Le code que vous nous donnez, c'est chromeBrowser, le navigateur Web, à qui ont demande de faire des trucs dans le DOM.

      "document", c'est la racine du DOM généré par la page Web.

      "getElemensByID", c'est récupérer l'élément du DOM ayant un ID, ici égal à "L09". Il n'existe pas forcement, donc avez vous bien vérifier dans le code source de la page que cet élément existe ?

      ".submit()", c'est appelé la méthode submit de l'élément du DOM qui a été putativement récupéré via "getElemensByID".

      Donc, déjà, pour que ce code "fonctionne", faut la conjonction de l'alignement des 15 planètes du système solaire.

      Et cerise sur le gâteau, le message d'erreur indique carrément l'URL de la documentation qui explique pourquoi la méthode "ExecuteSrciptAsync" ne doit pas être appelé dans le contexte courant !!!

      Vous ne comprenez pas quoi dans cette documentation ???

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        23 août 2017 à 3:23:22

        Oui désolé.. Je vais faire plus simple alors.

        chromeBrowser c'est juste le nom que j'ai donné à CefSharp, on parle pas du navigateur Chrome là ^^

        J'aimerais tout simplement avec CefSharp, faire en sorte que mon "soft" interagisse avec une page internet qui est en LocalHost (http://localhost:8080/mcdu/mcdu.html)

        Je veux faire en sorte que si j'appuie sur le Bouton n°1 de mon logiciel, cela se fait sur la page LocalHost, voilà comment la page LOCALHOST est faite :

        La flèche rouge indique le bouton que j'aimerais clicker via pour logiciel.

        Et voilà comment la page LocalHost apparait dans le logiciel :

        "getElemensByID", c'est récupérer l'élément du DOM ayant un ID, ici égal à "L09". Il n'existe pas forcement, donc avez vous bien vérifier dans le code source de la page que cet élément existe ?

        Oui j'ai vérifié et dailleur je vais même vous le montrer au cas ou je me saurais trompé ^^



        Donc est-ce possible ce que je veux faire ? Si oui pourriez vous me l'expliquer ?

        Merci, bonne fin de soirée

        -
        Edité par Azoca 23 août 2017 à 3:55:27

        • Partager sur Facebook
        • Partager sur Twitter
          23 août 2017 à 14:12:15

          Vous n'avez pas fait l’effort de comprendre mes remarques.

          Vous faites toujours les mêmes énormes contre-sens.

          >chromeBrowser c'est juste le nom que j'ai donné à CefSharp, on parle pas du navigateur Chrome là ^^

          D'où l'intérêt de correctement nommer ses variables.

          Cela ne change en rien mes remarques.

          C'est quoi cette architecture logicielle de Shadoks ?

          Les pages Web (bordel, c'est Web, pas "NInternet") n'ont jamais été conçues pour servir d'API.

          C'est juste pour faire de l'Interface Homme-Machine.

          Plutôt que de déclencher un code JavaScript pommé dans une page Web à la noix, regardez ce que fait ce JavaScript et faites en sorte que votre code fasse pareil.

          >Oui j'ai vérifié et dailleur je vais même vous le montrer au cas ou je me saurais trompé

          Ok, mais on ne sait pas si votre image donne le code source de la page HTML ou une sérialisation partielle du DOM (oui, parce là, il manque tout ce qui peut venir des CSS, etc...)

          Il fait que votre machin existe dans le DOM, ici, on n'en sait rien.

          Mais, de toute façon, le message d'erreur indique un problème bien avant la recherche du composant.

          Lissez correctement ce putain de message d'erreur !

          >Donc est-ce possible ce que je veux faire ?

          Peut-être, mais vous ne nous dites pas ce que vous voulez faire mais comment vous voulez le faire, et c'est clairement une manière de Shadoks.

          >Si oui pourriez vous me l'expliquer ?

          Expliquer Quoi ?

          Pour lire une documentation quand on vous donne explicitement son URL ???

          Sinon, pour éviter de faire le Shadoc, analyses le code JavaScript et faite en sorte que votre application fasse pareil.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            24 août 2021 à 10:37:06

            L'ami si tu veux intéragir avec ton navigateur tu peux le faire via Selenium, ça prend les références de tes objets html généré sur la page. Comme tu l'as montré via console développeur du navigateur et tu y accèdes par id de l'élement ou le name. C'est assez simple une fois que t'as fait un tuto dessus, bon courage :)

            -
            Edité par BeeCee 24 août 2021 à 10:38:40

            • Partager sur Facebook
            • Partager sur Twitter
              1 septembre 2021 à 11:02:41

              Sinon tu as regardé aussi les indications fournies dans la boite d'erreur et en particulier les liens donnés ?
              • Partager sur Facebook
              • Partager sur Twitter

              Interagir avec une page Internet (CefSharp)

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown