Class: Watir::Button
- Inherits:
-
HTMLElement
- Object
- Element
- HTMLElement
- Watir::Button
- Defined in:
- lib/watir-webdriver/elements/button.rb,
lib/watir-webdriver/elements/generated.rb
Overview
Class representing button elements.
This class covers both <button> and <input type=“submit|reset|image|button” /> elements.
Constant Summary collapse
- VALID_TYPES =
%w[button reset submit image]
Constants included from AttributeHelper
AttributeHelper::IGNORED_ATTRIBUTES
Class Method Summary collapse
Instance Method Summary collapse
-
#enabled? ⇒ Boolean
Returns true if this element is enabled.
-
#text ⇒ Object
Returns the text of the button.
Methods inherited from Element
#==, #attribute_value, #click, #double_click, #driver, #element, #exists?, #fire_event, #flash, #focus, #hash, #html, #initialize, #inspect, #parent, #present?, #right_click, #run_checkers, #send_keys, #style, #tag_name, #to_subtype, #value, #visible?, #wait_until_present, #wait_while_present, #when_present
Methods included from AttributeHelper
#attribute_list, #attributes, #typed_attributes
Methods included from Container
#a, #abbr, #abbrs, #address, #addresses, #area, #areas, #article, #articles, #as, #aside, #asides, #audio, #audios, #b, #base, #bases, #bdo, #bdos, #blockquote, #blockquotes, #body, #bodys, #br, #brs, #bs, #button, #buttons, #canvas, #canvases, #caption, #captions, #checkbox, #checkboxes, #cite, #cites, #code, #codes, #col, #colgroup, #colgroups, #cols, #command, #commands, #datalist, #datalists, #dd, #dds, #del, #dels, #details, #dfn, #dfns, #div, #divs, #dl, #dls, #dt, #dts, #element, #elements, #em, #embed, #embeds, #ems, #fieldset, #fieldsets, #figcaption, #figcaptions, #figure, #figures, #file_field, #file_fields, #font, #fonts, #footer, #footers, #form, #forms, #frame, #frames, #h1, #h1s, #h2, #h2s, #h3, #h3s, #h4, #h4s, #h5, #h5s, #h6, #h6s, #head, #header, #headers, #heads, #hgroup, #hgroups, #hidden, #hiddens, #hr, #hrs, #html, #htmls, #i, #iframe, #iframes, #image, #images, #img, #imgs, #input, #inputs, #ins, #inses, #is, #kbd, #kbds, #keygen, #keygens, #label, #labels, #legend, #legends, #li, #link, #links, #lis, #map, #maps, #mark, #marks, #menu, #menus, #meta, #metas, #meter, #meters, #nav, #navs, #noscript, #noscripts, #object, #objects, #ol, #ols, #optgroup, #optgroups, #option, #options, #output, #outputs, #p, #param, #params, #pre, #pres, #progress, #progresses, #ps, #q, #qs, #radio, #radios, #rp, #rps, #rt, #rts, #rubies, #ruby, #s, #samp, #samps, #script, #scripts, #section, #sections, #select, #select_list, #select_lists, #selects, #small, #smalls, #source, #sources, #span, #spans, #ss, #strong, #strongs, #style, #styles, #sub, #subs, #summaries, #summary, #sup, #sups, #table, #tables, #tbody, #tbodys, #td, #tds, #text_field, #text_fields, #textarea, #textareas, #tfoot, #tfoots, #th, #thead, #theads, #ths, #time, #times, #title, #titles, #tr, #track, #tracks, #trs, #ul, #uls, #var, #vars, #video, #videos, #wbr, #wbrs
Methods included from XpathSupport
#element_by_xpath, #elements_by_xpath
Constructor Details
This class inherits a constructor from Watir::Element
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Watir::Element
Class Method Details
.from(parent, element) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/watir-webdriver/elements/button.rb', line 17 def self.from(parent, element) if element.tag_name == "button" || element.tag_name == "input" && VALID_TYPES.include?(element.attribute(:type)) Button.new(parent, :element => element) else raise TypeError, "expected button or input[@type=#{VALID_TYPES.join("|")}] for #{element.inspect}" end end |
Instance Method Details
#enabled? ⇒ Boolean
Returns true if this element is enabled
51 52 53 |
# File 'lib/watir-webdriver/elements/button.rb', line 51 def enabled? !disabled? end |
#text ⇒ Object
Returns the text of the button.
For input elements, returns the “value” attribute. For button elements, returns the inner text.
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/watir-webdriver/elements/button.rb', line 33 def text assert_exists case @element.tag_name when 'input' @element.attribute(:value) when 'button' @element.text else raise Exception::Error, "unknown tag name for button: #{@element.tag_name}" end end |