2010-10-07 33 views
4

Je me gratter la tête sur la façon d'accomplir la tâche suivante: je dois écrire un web simple forme de remplissage/Déposant avec QT C++, il effectue les opérations suivantes:écriture web forme de remplissage/Déposant avec QT C++

1) les charges URL de la page 2) remplit champs de formulaire 3) soumet la forme

Cela semble facile, mais je suis un développeur web et ne peut pas trouver le chemin comment faire QT accomplir la tâche, je ne réussi pour charger l'URL avec l'objet QWebView en utilisant WebKit, ne savez pas quoi faire ensuite, comment remplir les champs et soumettre des formulaires. Des conseils, des tutoriels, des vidéos? J'apprécie cela.

+0

Je pense que lorsque vous remplissez et soumettez le formulaire de QWebView, il devrait aller au serveur. que demandez-vous alors? – Donotalo

+0

Je ne sais pas comment faire même QWebView pour remplir et soumettre le formulaire, j'ai réussi seulement à charger l'URL. Je ne sais pas comment faire "remplir" et "soumettre" les étapes. Par exemple, je charge http://www.google.com et souhaite entrer le mot clé "balise" et cliquer sur "Rechercher" ... comment faire? – Timus83

+0

Etes-vous en train d'essayer de remplir automatiquement le mot "balise" et de chercher, ou voulez-vous simplement l'exposer à l'utilisateur? –

Répondre

2

La classe QWebElement fait tout le travail, juste en lisant la documentation de la classe m'a donné une idée complète sur la façon d'accomplir ma tâche. Merci à eveyrone pour des suggestions.

1

La meilleure solution serait d'écrire la logique en JavaScript qui fait ce que vous voulez et ensuite l'injecter dans la page en utilisant QWebFrame::evaluateJavaScript() après le chargement.

Il existe également une autre façon de procéder. impliquant l'API de traversée d'arbre de document disponible dans QtWebKit depuis 4.6: QWebElement. En gros, vous traiterez le formulaire de la même manière que vous le feriez en JavaScript, sauf que l'API est ici différente et plus limitée. C'est C++ cependant et pourrait être un peu plus rapide. Je suppose que cette approche pourrait être moins attrayante pour vous, étant donné que vous êtes un développeur web et connaissez probablement déjà JavaScript.

+0

Merci Jakubm Je pensais à javascript, mais si je le fais via QWebElement, comment faire? – Timus83