Sha256: e49c2f77346591c60c33d8dc48b491414b5f1f17b798f58c4fbc9d6a1a5e5d1c

Contents?: true

Size: 813 Bytes

Versions: 18

Compression:

Stored size: 813 Bytes

Contents

module Watir
  class ChildRowLocator < ElementLocator

    def locate_all
      find_all_by_multiple
    end

    private

    def by_id
      nil # avoid this
    end

    def build_wd_selector(selectors)
      return if selectors.values.any? { |e| e.kind_of? Regexp }
      selectors.delete(:tag_name) || raise("internal error: no tag_name?!")

      expressions = %w[./tr]
      unless %w[tbody tfoot thead].include?(@wd.tag_name.downcase)
        expressions += %w[./tbody/tr ./thead/tr ./tfoot/tr]
      end

      attr_expr = attribute_expression(selectors)

      unless attr_expr.empty?
        expressions.map! { |e| "#{e}[#{attr_expr}]" }
      end

      xpath = expressions.join(" | ")

      p :build_wd_selector => xpath if $DEBUG

      [:xpath, xpath]
    end

  end # ChildRowLocator
end # Watir

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
watir-webdriver-0.7.0 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.11 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.10 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.9 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.8 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.7 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.6 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.5 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.4 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.3 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.2 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.1 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.6.0 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.5.8 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.5.7 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.5.6 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.5.5 lib/watir-webdriver/locators/child_row_locator.rb
watir-webdriver-0.5.4 lib/watir-webdriver/locators/child_row_locator.rb