Une option similaire à celle postée ci-dessus par janderson serait d'utiliser simplement la méthode .GetAttribute dans Selenium 2. En utilisant cette méthode, vous pouvez saisir tout élément qui a une valeur ou une étiquette spécifique que vous recherchez. Cela peut être utilisé pour déterminer si un élément a une étiquette, un style, une valeur, etc. Une façon courante de procéder consiste à parcourir en boucle les éléments de la liste déroulante jusqu'à ce que vous trouviez celui que vous voulez et que vous le sélectionniez. En C#
int items = driver.FindElement(By.XPath("//path_to_drop_Down")).Count();
for(int i = 1; i <= items; i++)
{
string value = driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).GetAttribute("Value1");
if(value.Conatains("Label_I_am_Looking_for"))
{
driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).Click();
//Clicked on the index of the that has your label / value
}
}
0 votes
Avez-vous essayé de le localiser en utilisant Firebug ? L'utilisation du xpath généré avec Firebug/xpather peut vous faciliter la tâche.
1 votes
La question n'est pas de localiser ou de trouver la liste déroulante. Elle concerne la sélection d'une étiquette dans cette liste déroulante. Je peux localiser la liste déroulante mais je ne sais pas quelle méthode appeler dans Selenium 2 puisque select() et getSelectedValue() ou getSelectedLabel() ne fonctionnent pas dans Selenium 2.
0 votes
Solution en c# : stackoverflow.com/questions/5278281/