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.