2012-02-18 3 views
0

J'écris un robot d'exploration d'images, qui doit cliquer par programmation sur un menu pour passer à la page suivante. Voici mon code à chaque fois fini le chargement des pages:Pourquoi évaluerJavaScript ne fonctionne qu'une seule fois?

public slots: 

void nextPage() 
{ 
    mainFrame()->evaluateJavaScript("readweb.nextPage()"); 
} 

Après avoir cliqué, l'ordinateur central doit charger un nouveau point d'URL pour la prochaine page Web (qui contient l'image que je veux ramper). Mais je le trouve ne fonctionne que pour la première fois. Après le premier clic, le deuxième clic n'a pas conduit à un nouveau chargement de l'URL. Les scripts js de la page Web ont déjà été chargés et ne sont chargés qu'une seule fois.

Pourquoi cela ne fonctionne-t-il pas? Quelqu'un a une situation similaire?

Répondre

1

J'ai quelque chose de similaire, mais ça ne marche pas seulement une fois, ça marche tous les deux appels.

Ma solution pour est maintenant un faux appel comme: webframe.evaluateJavaScript('return true;')

Cela oblige à ne (retour en dehors d'une fonction) et le prochain appel fonctionnera comme il se doit.

Je ne sais pas si cet appel défaillant va réinitialiser le moteur ou ce qui se passe réellement.

1

Vous ne savez pas si c'est important ou non, mais il vous manque un point-virgule à la fin de votre déclaration?

Questions connexes