2010-12-01 15 views
1

J'utilise WatiN pour l'automatisation du navigateur. C'est cool. Mais aujourd'hui je me suis retrouvé dans un problème où j'ai besoin d'appeler l'objet flash (bouton uploadify) sur ma page asp.net.Bouton de prise de vue en utilisant WatiN

Ce code semble fonctionner très bien, mais ne montre aucune action

 Element ele = window.Element(Find.ById("uploadifyUploader")); 
     ele.Click(); 

est-il un moyen de cela dans Watin achive.?

Répondre

1

Je peux me tromper, mais je pense que le tir ele.Click() résultats en cliquant sur l'élément <object/>, mais pas sur le bouton. Le contenu de l'élément <object/> est juste une application. Vous avez un objet flash ici, mais ce pourrait être, par exemple, une applet Java.

En cliquant sur ce bouton est similaire à cliquer sur le bouton sur l'application différente - vous devez automatiser Windows pas IE, donc une sorte d'appels API sera nécessaire, comme FindWindowEx ou SendMessage etc. Je pense que l'utilisation WatiN.Core.Native.Windows espace de noms pourrait être un peu utile, mais probablement insuffisant. Vous devrez utiliser des méthodes externes de user32.dll. Au lieu de cela, vous pouvez utiliser un type de bibliothèque pour l'automatisation Windows. J'ai entendu que AutoIt est bon, mais je ne l'ai pas utilisé. Pour les petites tâches, je préfère traiter les appels natifs.

En outre, WinSpy++ est très utile pour trouver des propriétés de fenêtres.

+0

ouais ce que je pensais initialement, les appels natifs de win32 seraient mieux. En fait, j'ai essayé mouse_event dans user32.dll pour cliquer sur le bouton. Mais rien ne semble fonctionner. Je ne sais pas quel est le problème .. :( – RameshVel