2010-11-01 3 views
1

Comment obtenir la source d'une page Web en cours d'exécution dans une instance de firefox en utilisant Delphi? Je voudrais faire ceci sans faire firefox la fenêtre active d'abord si c'est possible mais saisissant juste la source est ma question primaire.Delphi - Récupère la source d'une page Web fonctionnant sous firefox

TIA, Dave

+0

Qu'avez-vous l'intention de faire si plusieurs Firefox sont en cours d'exécution? –

+0

La façon dont je pensais que cela fonctionnerait, c'est que j'accepterais le titre de la page qui m'intéresse et que je ne traiterais que de cette page. En fait, c'est juste une page dont j'ai besoin pour obtenir la source de toute façon, ce qui me semble être la façon logique de le faire. – Dave

+0

Öhhh ... Pourquoi ne pas simplement télécharger le fichier source? Pourquoi avez-vous besoin de passer par Firefox? –

Répondre

2

Cela pourrait aider

How to embed a browser object, other than IE<n>, in a Delphi application

Ceci est sur l'intégration de Firefox (entre autres), mais a lnks à d'autres pages qui montre les méthodes que vous pouvez naviguer dans les DOM avec.

Je regarderais en utilisant IE si possible, il est assez bien documenté comment faire cela dans IE.

+0

Je l'ai déjà fait en utilisant l'instance IE embarquée que Delphi utilise et j'ai rencontré de nombreux problèmes (principalement liés à l'authentification), donc je préfère ne pas aller sur cette route à moins d'une autre façon. Aussi vous mentionnez que ceci est assez bien documenté dans IE que je suppose par "ceci" vous référez à ma question originale, donc si vous avez des sources où je peux faire ceci using IE au lieu de firefox alors je préférerais lui donner un coup. – Dave

+0

J'ai une source quelque part où j'ai marché sur le dom dans un navigateur externe ie, je vais essayer de le déterrer pour vous, cela pourrait prendre un jour ou deux si vous pouvez attendre. – daven11

+0

Obtenez le IHTMLDocument2 comme détaillé ici http://www.delphigroups.info/2/12/492347.html le vous pouvez obtenir le code HTML de l'interface si vous avez besoin de plus de détails faites le moi savoir – daven11

0

obligatoire « est ici une façon, mais ne le font pas » du gars ClipBoard ....

Une bidouille horrible que je l'ai vu est d'envoyer des frappes à l'application et le forcer à copier/coller les données dans le presse-papiers. Ne pas descendre cette route. Cela fonctionnera, pour vous, dans un environnement contrôlé. Cela ne fonctionnera pas pour vos utilisateurs, qui rencontreront des problèmes de compatibilité, une suppression inattendue de leurs données dans le presse-papiers et des plantages d'autres applications qui surveillent le presse-papiers à la recherche de mises à jour.
Et non, vous ne pouvez pas enregistrer/restaurer le presse-papiers sans causer encore plus de problèmes.

+0

Je n'avais aucune intention de le faire. J'ai quelques idées que je suis entrain de créer dynamiquement le composant WB incorporé, puis en saisissant les informations dont j'ai besoin et en les libérant à nouveau afin d'obtenir une nouvelle copie de la page Web chaque fois qu'elle est créée. C'est juste une théorie parce que je ne sais pas comment créer les méthodes dont j'ai besoin pour accéder aux données que je veux exécuter. Si le WB embaumé ne me combattait pas à chaque pas, j'aurais tout fait depuis longtemps. – Dave

Questions connexes