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
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.
script ="var anchorList = document.getElementsByTagName('a') ; alert(anchorList[1].href)";
Mais quand je fait ce script rien ne sera affiché.
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.
Partager