2010-08-22 7 views

Répondre

6

Utilisez à la place selected_options().

selected_options() Description:

obtient tous les éléments sélectionnés dans la liste de sélection sous forme de tableau. Un tableau vide est renvoyé si la boîte de sélection n'a aucun élément sélectionné. Sortie:

Tableau contenant les éléments sélectionnés de la liste de sélection.

Source

+0

Merci ... Je ne sais pas comment je n'ai pas vu ça! – NinjaCat

+2

J'utilise Watir-Webdriver et je reçois ceci: [# (élément webdriver)}>]. Ce serait vraiment bien d'avoir le texte. De l'aide? – bxiong

+0

@blizzyb Je rencontre le même problème sans avoir l'air capable de trouver une solution de contournement via d'autres méthodes ou attributs ... – Marcos

1

La documentation watir dit également que vous pouvez faire  

browser.select_list.selected_options.map(&:text) 

mais renvoie le texte dans un tableau, je pense que ce serait utile de le faire de cette façon si vous avez plusieurs éléments sélectionnés dans la liste.

['selected text'] 
+0

Si vous n'avez qu'un élément sélectionné, 'browser.select_list. selected_options.map (&: text) [0] 'vous donnerait le texte sélectionné sous forme de chaîne. – pjd

+0

Et quelque chose comme 'browser.select_list (: id, 'list_id'). Selected_options.map (&: text) [0]' peut s'avérer utile pour localiser la liste elle-même. – pjd