2010-07-04 5 views
1

J'utilise l'expression régulière dans watin.en utilisant l'expression régulière dans watin

J'ai quelque chose comme: ie.Button(Find.ByName(new Regex(input))).Click(); mais je ne veux pas cliquer sur le deuxième ou le troisième bouton qui correspond et pas le premier.

Comment est-ce que je peux faire ceci?

Répondre

2

Essayez ceci:

ie.Button(Find.ByName(new Regex(input)) && Find.ByIndex(1 /* or 2 */)).Click(); 
0

Essayez ceci:

ButtonCollection buttonCol = ie.Buttons; 
    buttonCol = buttonCol.Filter(Find.ByName(new Regex(input))); 
    buttonCol[1].Click(); 
    buttonCol[2].Click(); 
0

beaucoup de fois où je trouve la nécessité de choisir un plus haut que le premier retour est parce qu'il ya trop peu qualifiés sur la découverte. par *() construire. vous pourriez essayer d'écrire vos propres pour les cas comme ceux-ci qui ont plus de sens pour votre cas particulier.

exemple requête LINQ:

var buttons = from e in browser.Buttons 
      where e.Name == "Test" && 
      e.Text == "Button1" 
      select e; 

Quelque chose comme cela vous permettra de sélectionner uniquement ce que vous voulez. Il vous donne également un moyen de vérifier rapidement avec un .ToList() @ la fin de celui-ci. ou utilisez une boucle foreach pour effectuer les actions nécessaires.

Questions connexes