Вопрос Watir о строках таблицы и цикле

Я хотел бы просмотреть таблицу и найти слово, если это слово появится, я хотел бы щелкнуть переключатель в той же строке, но не в том же столбце, а затем остановить цикл. У меня есть что-то подобное на данный момент, но я не знаю, куда идти дальше.

  @ie.div(:class, 'tableclass').table(:index, 1).each do | row |
     row.each do | cell |
    if (cell.text() == 'text')
      ##Set radio button
break end end end

Я попытался выбрать радиостанцию ​​по имени и индексу, но я не знаю, как получить номер строки, в которой она сейчас находится. Спасибо.


person AJ.    schedule 25.05.2010    source источник


Ответы (1)


each_with_index — это то, что вам нужно. Что-то вроде этого должно работать (не проверено):

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

Я мог бы проверить это, если вы опубликуете соответствующий фрагмент HTML.

person Željko Filipin    schedule 26.05.2010
comment
у вас все еще нет доступа к строке извне, и вы могли бы просто сделать: row.radio(how, what).set - person mandersn; 27.05.2010
comment
Спасибо за ответы. кнопка радиоустановки выше не работает. но, используя то, что сказал Мандерсн, это работает. row.radio(:name,'radioButton').set или browser.radio(:name =› 'radioButton', :index=›index).set в порядке - person AJ.; 27.05.2010