none
VS2017 UWP acceder à un site web

    Question

  • bonjour

     je désirerais pouvoir avec un clic sur la main-page.xaml pouvoir écrire un code qui m'affiche un site web et pouvoir extraire des informations et les insérer dans un tex box pouvez vous m’aider ou me donner  un tuto français qui permette de comprendre cela

    vendredi 16 mars 2018 12:15

Réponses

  • Bonjour SIMONGEORGES, 

    Pour afficher le site Web, il vous faudra utiliser un contrôle WebView.  Ensuite, pour interagir avec le DOM (la structure HTML du document Web) vous devrez utiliser la méthode InvokeScriptAsync en utilistant la fonction eval de Javascript pour manipuler le HTML, par exemple pour récupérer l'ensemble du code HTML de la page :

    string html = await myWebView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });

    Vous pouvez aussi récupérer des données provenant de la WebView dans votre application UWP si les scripts dans la WebView utilise window.external.notify et en prenant en paramètre une chaine de caractères pour envoyer les infos. Côté UWP, il suffira de les récupérer en s'abonnant à l'événement ScriptNotify de la WebView :

    MyWebView.ScriptNotify += MyWebView_ScriptNotify;
    
    [...]
    
    
    void MyWebView_ScriptNotify(object sender, NotifyEventArgs e)
    {
       
    }
    

    Communicating back and forth with a WebView

    Cordialement,

    • Marqué comme réponse SIMONGEORGES samedi 17 mars 2018 09:16
    vendredi 16 mars 2018 14:38
  • Si il s'agit de charger une URL dans votre WebView, il suffit de faire quelque chose comme :

    <WebView x:Name="myWebView" />
    <Button Content="Charger URL" 
            Click="Button_Click" />

    et puis dans l'événement du bouton :

    private void Button_Click(object sender, EventArgs e)
    {
        try
        {
            Uri targetUri = new Uri("https://www.bing.com");
            myWebView.Navigate(targetUri);
        }
        catch (FormatException ex)
        {
        
        }
    }

    Je vous joins la documentation WebView.

    • Marqué comme réponse SIMONGEORGES mardi 20 mars 2018 12:55
    • Non marqué comme réponse SIMONGEORGES samedi 29 septembre 2018 09:25
    • Marqué comme réponse SIMONGEORGES samedi 29 septembre 2018 09:25
    samedi 17 mars 2018 16:07

Toutes les réponses

  • Bonjour SIMONGEORGES, 

    Pour afficher le site Web, il vous faudra utiliser un contrôle WebView.  Ensuite, pour interagir avec le DOM (la structure HTML du document Web) vous devrez utiliser la méthode InvokeScriptAsync en utilistant la fonction eval de Javascript pour manipuler le HTML, par exemple pour récupérer l'ensemble du code HTML de la page :

    string html = await myWebView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });

    Vous pouvez aussi récupérer des données provenant de la WebView dans votre application UWP si les scripts dans la WebView utilise window.external.notify et en prenant en paramètre une chaine de caractères pour envoyer les infos. Côté UWP, il suffira de les récupérer en s'abonnant à l'événement ScriptNotify de la WebView :

    MyWebView.ScriptNotify += MyWebView_ScriptNotify;
    
    [...]
    
    
    void MyWebView_ScriptNotify(object sender, NotifyEventArgs e)
    {
       
    }
    

    Communicating back and forth with a WebView

    Cordialement,

    • Marqué comme réponse SIMONGEORGES samedi 17 mars 2018 09:16
    vendredi 16 mars 2018 14:38
  • bonjour un grand merci je vais essayer de comprendre
    samedi 17 mars 2018 09:16
  • bonjour

    je suis entrain de comprendre  votre réponses mais je ne sais pas comment créer ma page xaml avec mon bouton d'appel  merci encore de m'aider pour écrire cet appel

    samedi 17 mars 2018 14:06
  • Si il s'agit de charger une URL dans votre WebView, il suffit de faire quelque chose comme :

    <WebView x:Name="myWebView" />
    <Button Content="Charger URL" 
            Click="Button_Click" />

    et puis dans l'événement du bouton :

    private void Button_Click(object sender, EventArgs e)
    {
        try
        {
            Uri targetUri = new Uri("https://www.bing.com");
            myWebView.Navigate(targetUri);
        }
        catch (FormatException ex)
        {
        
        }
    }

    Je vous joins la documentation WebView.

    • Marqué comme réponse SIMONGEORGES mardi 20 mars 2018 12:55
    • Non marqué comme réponse SIMONGEORGES samedi 29 septembre 2018 09:25
    • Marqué comme réponse SIMONGEORGES samedi 29 septembre 2018 09:25
    samedi 17 mars 2018 16:07