Sha256: d27d1177c131f4c4640eb5f541aac70688e36ddf8f891e7c4141212111db7d98
Contents?: true
Size: 1.21 KB
Versions: 8
Compression:
Stored size: 1.21 KB
Contents
module PageObject module Platforms module SeleniumWebDriver module TableRow # # Return the PageObject::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. # The text can be a substring of the full column text. # def [](idx) els = table_cells idx = find_index_by_title(idx) if idx.kind_of?(String) return nil unless idx && columns >= idx + 1 Object::PageObject::Elements::TableCell.new(els[idx], :platform => :selenium_webdriver) end # # Returns the number of columns in the table. # def columns table_cells.size end private def find_index_by_title(title) table = parent parent_tag_name = parent.element.tag_name table = table.parent if (parent_tag_name == 'tbody' || parent_tag_name == 'thead') table[0].find_index { |column| column.text.include? title } end def table_cells element.find_elements(:xpath, child_xpath) end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems