Sha256: aeaba9ac94b7421833ad58483cdeeb1a20a52d66e16d179e688667d4369a7913
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
require 'watir/elements/html_elements' module Druid module Elements class TableRow < Element # # Return the Druid::Elements::TableCell for the index provided. Index # is zero based. If the index provided is a String then it # will be matched with the text from the columns in the first row. # def [](idx) idx = find_index_by_title(idx) if idx.kind_of?(String) return nil unless idx && columns >= idx + 1 Druid::Elements::TableCell.new(element[idx]) end # # Returns the number of rows in the table. # def columns element.cells.size end def each for index in 1..self.columns do yield self[index-1] end end private def find_index_by_title(title) table = element.parent table = table.parent if table.tag_name == 'tbody' if table.instance_of? Watir::HTMLElement table = table.to_subtype end first_row = table[0] first_row.cells.find_index { |column| column.text.include? title} end end Druid::Elements.tag_to_class[:tr] = Druid::Elements::TableRow end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
druid-ts-1.2.4 | lib/druid/elements/table_row.rb |
druid-ts-1.2.3 | lib/druid/elements/table_row.rb |