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

Réseau/Web Python Discussion :

lien sur page web


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut lien sur page web
    Bonjour,

    je cherche à afficher une page web. De cette manière, pas de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import webbrowser
    the_url = 'http://programme.tv.yahoo.net/php/timeLine/index.php'
    webbrowser.open(the_url)
    Cependant pour la page qui suit, il existe un lien dans le code source de la page qui est : <a href="#" id="pageSuivante">&gt;&gt;</a> et je ne sais pas comment l'utiliser pour afficher la page qui suit

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Au début de cette page php se trouvent les chargements des scripts javascript, on y trouve celui qui gère la pagination.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	<script type="text/javascript" src="/javascript/modules/gestionPagination.js"></script>
    Le lien reconstitué est donc:
    http://programme.tv.yahoo.net/javasc...nPagination.js

    Il ne te reste plus qu'à plonger dans javascript.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    tout d'abord merci pour cette réponse.

    Si j'analyse la page en question, je trouve:
    nodePageSuivante.href = "javascript:page(" + (parseInt(nodePageCourante.value) + 1) + ");";

    Je suppose que c'est bien l'info qui m'intéresse mais comment puis-je l'utiliser ?

    J'ai pensé à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webbrowser.open('http://programme.tv.yahoo.net/php/timeLine/index.php? "  a href=javascript:page2')
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webbrowser.open('http://programme.tv.yahoo.net/php/timeLine/index.php?href = "javascript:page(" + (parseInt(nodePageCourante.value) + 1) + ")')
    mais ça ne fonctionne pas.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Ah non, c'est destiné à créer l'appel à une fonction du même script. Du moins son argument.
    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
     
    function	page(numeroDePage)
    {
    		//	Si ça vaut -1, c'est qu'on ne fait rien
    	if( numeroDePage != -1 )
    	{
    		nodePageCourante.value	= numeroDePage;
    			//	Construction de la liste des chaines dà afficher sur la time line
    		setListeChainesTimeLine();
    			//	Construction de l'affichage de la timeLine
    		affichePagination();
    			//	Et ensuite, on rafraichit la page
    		setVisibility('chargementEnCours','visible');
    		window.setTimeout('ajaxTimeLine()',1);
    			//	Rechargement des iframes
    		reloadElems();
    	}
    Donc dans le cas que tu essayes, tu appelles page(2)

    Il y a des framework qui interagissent avec javascript. C'est le cas de Qt. Et forcément PyQt.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Tu me conseilles donc d'utiliser PyQt pour faire cela ?
    Existe t'il des tutoriels ?

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Je ne conseille pas plus spécialement Qt mais je sais que son toolkit web est très complet.

    Tu trouveras des tutos pour démarrer sur ce site [1]


    Un exemple basique avec ton lien
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    # -*- coding: utf-8 -*-
     
    from PyQt4.QtCore import QUrl
    from PyQt4.QtGui import (QApplication, QWidget, QGridLayout, QVBoxLayout, 
                             QHBoxLayout, QLabel, QPushButton, QSpacerItem, 
                             QSizePolicy)
    from PyQt4.QtWebKit import QWebView, QWebPage, QWebSettings
     
    ROOT = "http://programme.tv.yahoo.net/php/timeLine/index.php"
     
    class WebApp(QWidget):
        def __init__(self, main, parent=None):
            super(WebApp, self).__init__(parent)
            self.resize(738, 487)
            self.grid = QGridLayout(self)
            self.vlayout = QVBoxLayout()
            self.webview = Viewer(self)
            self.webview.set_url(ROOT)
            self.vlayout.addWidget(self.webview)
            self.hlayout = QHBoxLayout()
            self.pages_lbl = QLabel(self)
            self.hlayout.addWidget(self.pages_lbl)
            spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
            self.hlayout.addItem(spacer)
            self.previous_btn = QPushButton(self)
            self.previous_btn.setText(u"Précédente")
            self.hlayout.addWidget(self.previous_btn)
            self.next_btn = QPushButton(self)
            self.next_btn.setText(u"Suivante")
            self.hlayout.addWidget(self.next_btn)
            self.vlayout.addLayout(self.hlayout)
            self.grid.addLayout(self.vlayout, 0, 0, 1, 1)
            self.previous_btn.clicked.connect(self.webview.previous_page)
            self.next_btn.clicked.connect(self.webview.next_page)
     
    class Viewer(QWebView):
        def __init__(self, parent=None):
            super(Viewer, self).__init__(parent)
            self.ui = parent
            self.page_ = QWebPage()
            self.setPage(self.page_)
            self.settings().setAttribute(QWebSettings.PluginsEnabled, True)
            self.is_loaded = False
            self.numb_pages = 0
            self.current_page = -1        
            self.loadFinished.connect(self.on_loading_finished)
     
        def set_url(self, url):
            self.setUrl(QUrl(url))
     
        def on_loading_finished(self):
            if self.current_page == -1:
                self.is_loaded = True
                # At startup
                np = self.page_.mainFrame().evaluateJavaScript('nodeNbPage.value')
                # np is QVariant
                self.numb_pages = np.toInt()[0]
     
            cp = self.page_.mainFrame().evaluateJavaScript('nodePageCourante.value')
            self.current_page = cp.toInt()[0]
            self.ui.pages_lbl.setText("Page courante: %s / %s" %(self.current_page,
                                                                 self.numb_pages))
     
        def previous_page(self):
            if not self.is_loaded:
                return
     
            p = self.current_page - 1
            if p == 0:
                p = self.numb_pages
     
            self.change_page(p)
     
        def next_page(self):
            if not self.is_loaded:
                return   
     
            p = self.current_page + 1
            if p == self.numb_pages + 1:
                p = 1
     
            self.change_page(p)
     
        def change_page(self, index):
            self.page_.mainFrame().evaluateJavaScript('page(%s)' % index)
     
     
    if __name__ == "__main__":
        import sys
        app = QApplication(sys.argv)
        wa = WebApp(None)
        wa.show()
        sys.exit(app.exec_())
    Bon, je ne suis pas un foudre en javascript, donc je devine plus que je ne comprend.
    Donc, fais des essais.




    [1] http://python.developpez.com/cours/?page=GUI#PyQtPySide

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    merci pour cette aide.
    Je vais explorer de ce côté.

Discussions similaires

  1. Intégrer vidéo et liens (playlist) sur page web
    Par wassim1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/03/2007, 21h30
  2. graphique dynamique sur page web
    Par kek_net dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 16/08/2006, 15h01
  3. trouver plusieurs mots sur page web et les surligner
    Par biggione dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/08/2006, 15h22
  4. Lecteur Multimedia sur page Web
    Par beegeesman dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/01/2006, 00h15
  5. ShellExecute - Access Denied sur page web
    Par Neilos dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/10/2005, 12h04

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