2010-05-25 8 views
2

Je voudrais passer par une table et chercher un mot, si ce mot apparaît, je voudrais cliquer sur un bouton radio dans la même rangée, mais pas la même colonne, alors arrête la boucle. J'ai quelque chose comme ça en ce moment mais je ne sais pas où aller d'ici. J'ai essayé de sélectionner une radio par son nom et son index, mais je ne sais pas comment obtenir le numéro de ligne auquel elle est actuellement. Merci.Watir question concernant les lignes de table et la boucle

Répondre

3

each_with_index est ce dont vous avez besoin. Quelque chose comme ceci devrait fonctionner (non testé):

browser.div(:class, 'tableclass').table(:index, 1).rows.each_with_index do |row, index| 
    row.cells.each do |cell| 
    if cell.text == 'text' 
     browser.div(:class, 'tableclass').table(:index, 1)[index].radio(how, what).set 
     break 
    end 
    end 
end 

Je pourrais le tester si vous postez l'extrait HTML approprié.

+1

n'avez-vous pas encore accès à la rangée de l'extérieur et pourrait faire: row.radio (comment, quoi) .set – mandersn

+0

@mandersn, bon point, cela marcherait probablement. –

+0

Merci pour les replys. le bouton de réglage de la radio ci-dessus ne fonctionne pas. mais en utilisant ce que mandersn a dit cela fonctionne. row.radio (: nom, 'radioButton'). set ou browser.radio (: name => 'radioButton',: index => index) .set est bien –