2016-03-20 12 views
1

Ich habe eine Reihe von Divs, die ich durchschleifen möchte und in denen ich untergeordnete Elemente (mehrere Ebenen der Verschachtelung hier) durchlaufen möchte.Looping durch untergeordnete Elemente einer Schleife von übergeordneten Elementen

Wenn ich tun:

puts browser.div(:class => 'layout4').element(:class => 'event-info').text 

dann richtig ich den Text des Kindes Element erhalten, die ich will, so habe ich versucht, es so pluralize:

browser.divs(:class => 'layout4').each do |event| 
    browser.event.elements(:class => 'event-info') do |game| 
     puts game.text 
    end 
end 

aber die innere Schleife Es läuft überhaupt nicht.

+0

Da der erste .each ist die watir div Objekte in die Schleife als ‚Ereignis‘ zu senden, die Sie wirklich brauchen nicht mit dem Browser zu starten innerhalb der Schleife. 'event.elements (: class => 'event-info'). Jedes do | game |' sollte gut funktionieren. –

Antwort

4

Sie haben vergessen, die ‚jeden‘ auf der inneren Schleife

browser.divs(:class => 'layout4').each do |event| 
    browser.event.elements(:class => 'event-info').each do |game| 
     puts game.text 
    end 
end 
Verwandte Themen