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

Qt Discussion :

recupérer les liens d'une page chargée par Qtwebkit


Sujet :

Qt

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut recupérer les liens d'une page chargée par Qtwebkit
    Bonjour tous le monde,

    J'utilise QtWebkit pour charger une page web, mon but est d'extraire tous les liens simples et contenus dans les fichiers js et css chargés avec la page.

    Au depart j'ai commencé par récupérer les lien simples.Pour cela j'ai utilisé la methode : addToJavaScriptWindowObject.
    j'ai ecrit un code js que je l'applique à ma page chargée comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    QWebView v;
    QString frameText = v . page() -> mainFrame() -> toHtml();
    QWebFrame* f = v.page()->mainFrame();
    if (!m_dataObject) 
    	{
    	 m_dataObject = new TestObj();
    	 f->addToJavaScriptWindowObject("dataOutput", m_dataObject);
    	}	
     
     
    QString script;
    script ="var anchorList = document.getElementsByTagName('a');for(var i=0;i<    anchorList.length();i++){dataOutput.setData(anchorList[i].href);alert(anchorList[i].href);}";	
    QVariant v = f->evaluateJavaScript(script);;

    Mon problème est quand je change le script par cela marche trés bien et il me recupere le premier lien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    script ="var anchorList = document.getElementsByTagName('a') ; alert(anchorList[1].href)";

    Mais quand je fait ce script rien ne sera affiché.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    script ="var anchorList = document.getElementsByTagName('a');for(var i=0;i< anchorList.length();i++) {dataOutput.setData(anchorList[i].href);alert(anchorList[i].href);}";
    J'ai pas compris c'est quoi le problème, j'ai du mal installé Qt
    Je travail sous Fedora et j'utilise Qt4.


    Merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2006
    Messages : 81
    Points : 154
    Points
    154
    Par défaut
    var i=0;i< anchorList.length();i++){dataOutput.setData(anchorList


    length != méthode mais plutôt property enlèves les () et ça va marcher

Discussions similaires

  1. [RegEx] Récupérer tous les liens d'une page
    Par micatmidog dans le forum Langage
    Réponses: 13
    Dernier message: 03/11/2006, 01h37
  2. [RegEx] récupérer tous les liens d'une page
    Par italiasky dans le forum Langage
    Réponses: 15
    Dernier message: 08/04/2006, 18h55
  3. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36
  4. Réponses: 7
    Dernier message: 14/09/2005, 10h50
  5. réinitialiser les liens d'une page html
    Par sisco dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/11/2004, 16h03

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