Class: Watir::Select
- Inherits:
-
HTMLElement
- Object
- Element
- HTMLElement
- Watir::Select
- Includes:
- Exception
- Defined in:
- lib/watir-webdriver/elements/select.rb,
lib/watir-webdriver/elements/html_elements.rb
Constant Summary
Constants included from Atoms
Instance Method Summary collapse
-
#autocomplete ⇒ String
Value of autocomplete property.
-
#autofocus? ⇒ Boolean
Value of autofocus property.
-
#clear ⇒ Object
Clears all selected options.
-
#disabled? ⇒ Boolean
Value of disabled property.
-
#enabled? ⇒ Boolean
Returns true if this element is enabled.
-
#form ⇒ String
Value of form property.
-
#include?(str_or_rx) ⇒ Boolean
Returns true if the select list has one or more options where text or label matches the given value.
-
#labels ⇒ String
Value of labels property.
-
#length ⇒ Fixnum
Value of length property.
-
#multiple? ⇒ Boolean
Value of multiple property.
-
#name ⇒ String
Value of name property.
-
#options ⇒ String
Value of options property.
-
#required? ⇒ Boolean
Value of required property.
-
#select(str_or_rx) ⇒ String
Select the option(s) whose text or label matches the given string.
-
#select_value(str_or_rx) ⇒ String
Selects the option(s) whose value attribute matches the given string.
-
#selected?(str_or_rx) ⇒ Boolean
Returns true if any of the selected options’ text or label matches the given value.
-
#selected_index ⇒ Fixnum
Value of selectedIndex property.
-
#selected_options ⇒ String
Value of selectedOptions property.
-
#size ⇒ Fixnum
Value of size property.
-
#type ⇒ String
Value of type property.
-
#validation_message ⇒ String
Value of validationMessage property.
-
#validity ⇒ String
Value of validity property.
-
#value ⇒ String
Value of value property.
-
#will_validate? ⇒ Boolean
Value of willValidate property.
Methods inherited from HTMLElement
#access_key, #access_key_label, #command_checked?, #command_disabled?, #command_hidden?, #command_icon, #command_label, #command_type, #content_editable, #content_editable?, #context_menu, #dataset, #dir, #draggable?, #dropzone, #hidden?, #item_id, #item_prop, #item_ref, #item_scope?, #item_type, #item_value, #lang, #onabort, #onautocomplete, #onautocompleteerror, #onblur, #oncancel, #oncanplay, #oncanplaythrough, #onchange, #onclick, #onclose, #oncontextmenu, #oncuechange, #ondblclick, #ondrag, #ondragend, #ondragenter, #ondragexit, #ondragleave, #ondragover, #ondragstart, #ondrop, #ondurationchange, #onemptied, #onended, #onerror, #onfocus, #oninput, #oninvalid, #onkeydown, #onkeypress, #onkeyup, #onload, #onloadeddata, #onloadedmetadata, #onloadstart, #onmousedown, #onmouseenter, #onmouseleave, #onmousemove, #onmouseout, #onmouseover, #onmouseup, #onmousewheel, #onpause, #onplay, #onplaying, #onprogress, #onratechange, #onreset, #onresize, #onscroll, #onseeked, #onseeking, #onselect, #onshow, #onsort, #onstalled, #onsubmit, #onsuspend, #ontimeupdate, #ontoggle, #onvolumechange, #onwaiting, #properties, #spellcheck?, #tab_index, #title, #translate?
Methods inherited from Element
#==, #attribute_value, #browser, #class_name, #click, #double_click, #drag_and_drop_by, #drag_and_drop_on, #driver, #exists?, #fire_event, #flash, #focus, #focused?, #hash, #hover, #id, #initialize, #inner_html, #inspect, #outer_html, #parent, #present?, #right_click, #select_text, #send_keys, #style, #tag_name, #text, #to_subtype, #visible?, #wd
Methods included from AttributeHelper
#attribute, #attribute_list, #inherit_attributes_from, #method, #typed_attributes
Methods included from EventuallyPresent
#wait_until_present, #wait_while_present, #when_enabled, #when_present
Methods included from Container
#a, #abbr, #abbrs, #address, #addresses, #animate, #animate_motion, #animate_motions, #animate_transform, #animate_transforms, #animates, #area, #areas, #article, #articles, #as, #aside, #asides, #audio, #audios, #b, #base, #bases, #bdi, #bdis, #bdo, #bdos, #blockquote, #blockquotes, #body, #bodys, #br, #brs, #bs, #button, #buttons, #canvas, #canvases, #caption, #captions, #checkbox, #checkboxes, #circle, #circles, #cite, #cites, #code, #codes, #col, #colgroup, #colgroups, #cols, #cursor, #cursors, #data, #datalist, #datalists, #datas, #dd, #dds, #defs, #defss, #del, #dels, #desc, #descs, #details, #detailses, #dfn, #dfns, #dialog, #dialogs, #discard, #discards, #div, #divs, #dl, #dls, #dt, #dts, #element, #elements, #ellipse, #ellipses, #em, #embed, #embeds, #ems, #extract_selector, #field_set, #field_sets, #fieldset, #fieldsets, #figcaption, #figcaptions, #figure, #figures, #file_field, #file_fields, #font, #fonts, #footer, #footers, #foreign_object, #foreign_objects, #forms, #frame, #frames, #frameset, #framesets, #g, #gs, #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, #legend, #legends, #li, #line, #linear_gradient, #linear_gradients, #lines, #link, #links, #lis, #main, #mains, #map, #maps, #mark, #marker, #markers, #marks, #menu, #menuitem, #menuitems, #menus, #mesh_gradient, #mesh_gradients, #mesh_patch, #mesh_patches, #mesh_row, #mesh_rows, #meta, #metadata, #metadatas, #metas, #meter, #meters, #mpath, #mpaths, #nav, #navs, #noscript, #noscripts, #object, #objects, #ol, #ols, #optgroup, #optgroups, #option, #output, #outputs, #p, #param, #params, #path, #paths, #pattern, #patterns, #polygon, #polygons, #polyline, #polylines, #pre, #pres, #progress, #progresses, #ps, #q, #qs, #radial_gradient, #radial_gradients, #radio, #radios, #rect, #rects, #rp, #rps, #rt, #rts, #rubies, #ruby, #s, #samp, #samps, #script, #scripts, #section, #sections, #select_list, #select_lists, #selects, #set, #sets, #small, #smalls, #source, #sources, #span, #spans, #ss, #stop, #stops, #strong, #strongs, #style, #styles, #sub, #subs, #summaries, #summary, #sup, #sups, #svg, #svgs, #switch, #switches, #symbol, #symbols, #table, #tables, #tbody, #tbodys, #td, #tds, #template, #templates, #text_field, #text_fields, #text_path, #text_paths, #textarea, #textareas, #tfoot, #tfoots, #th, #thead, #theads, #ths, #time, #times, #title, #titles, #tr, #track, #tracks, #trs, #tspan, #tspans, #u, #ul, #uls, #us, #use, #uses, #var, #vars, #video, #videos, #view, #views, #wbr, #wbrs
Methods included from Atoms
Methods included from XpathSupport
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
Instance Method Details
#autocomplete ⇒ String
Returns value of autocomplete property.
423 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 423 attribute(String, :autocomplete, :autocomplete) |
#autofocus? ⇒ Boolean
Returns value of autofocus property.
424 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 424 attribute("Boolean", :autofocus?, :autofocus) |
#clear ⇒ Object
Clears all selected options.
19 20 21 22 23 24 25 26 27 |
# File 'lib/watir-webdriver/elements/select.rb', line 19 def clear assert_exists raise Error, "you can only clear multi-selects" unless multiple? .each do |o| o.click if o.selected? end end |
#disabled? ⇒ Boolean
Returns value of disabled property.
425 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 425 attribute("Boolean", :disabled?, :disabled) |
#enabled? ⇒ Boolean
Returns true if this element is enabled
11 12 13 |
# File 'lib/watir-webdriver/elements/select.rb', line 11 def enabled? !disabled? end |
#form ⇒ String
Returns value of form property.
426 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 426 attribute(String, :form, :form) |
#include?(str_or_rx) ⇒ Boolean
Returns true if the select list has one or more options where text or label matches the given value.
47 48 49 50 51 52 53 54 55 |
# File 'lib/watir-webdriver/elements/select.rb', line 47 def include?(str_or_rx) assert_exists element_call do @element.find_elements(:tag_name, 'option').any? do |e| str_or_rx === e.text || str_or_rx === e.attribute(:label) end end end |
#labels ⇒ String
Returns value of labels property.
440 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 440 attribute(String, :labels, :labels) |
#length ⇒ Fixnum
Returns value of length property.
433 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 433 attribute(Fixnum, :length, :length) |
#multiple? ⇒ Boolean
Returns value of multiple property.
427 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 427 attribute("Boolean", :multiple?, :multiple) |
#name ⇒ String
Returns value of name property.
428 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 428 attribute(String, :name, :name) |
#options ⇒ String
Returns value of options property.
35 36 37 38 |
# File 'lib/watir-webdriver/elements/select.rb', line 35 def assert_exists super end |
#required? ⇒ Boolean
Returns value of required property.
429 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 429 attribute("Boolean", :required?, :required) |
#select(str_or_rx) ⇒ String
Select the option(s) whose text or label matches the given string. If this is a multi-select and several options match the value given, all will be selected.
66 67 68 |
# File 'lib/watir-webdriver/elements/select.rb', line 66 def select(str_or_rx) select_by :text, str_or_rx end |
#select_value(str_or_rx) ⇒ String
Selects the option(s) whose value attribute matches the given string.
80 81 82 |
# File 'lib/watir-webdriver/elements/select.rb', line 80 def select_value(str_or_rx) select_by :value, str_or_rx end |
#selected?(str_or_rx) ⇒ Boolean
Returns true if any of the selected options’ text or label matches the given value.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/watir-webdriver/elements/select.rb', line 92 def selected?(str_or_rx) assert_exists match_found = false element_call do @element.find_elements(:tag_name, 'option').each do |e| matched = str_or_rx === e.text || str_or_rx === e.attribute(:label) if matched return true if e.selected? match_found = true end end end raise(UnknownObjectException, "Unable to locate option matching #{str_or_rx.inspect}") unless match_found false end |
#selected_index ⇒ Fixnum
Returns value of selectedIndex property.
435 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 435 attribute(Fixnum, :selected_index, :selectedIndex) |
#selected_options ⇒ String
Returns value of selectedOptions property.
131 132 133 |
# File 'lib/watir-webdriver/elements/select.rb', line 131 def .select { |e| e.selected? } end |
#size ⇒ Fixnum
Returns value of size property.
430 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 430 attribute(Fixnum, :size, :size) |
#type ⇒ String
Returns value of type property.
431 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 431 attribute(String, :type, :type) |
#validation_message ⇒ String
Returns value of validationMessage property.
439 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 439 attribute(String, :validation_message, :validationMessage) |
#validity ⇒ String
Returns value of validity property.
438 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 438 attribute(String, :validity, :validity) |
#value ⇒ String
Returns value of value property.
119 120 121 122 |
# File 'lib/watir-webdriver/elements/select.rb', line 119 def value o = .find { |e| e.selected? } || return o.value end |
#will_validate? ⇒ Boolean
Returns value of willValidate property.
437 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 437 attribute("Boolean", :will_validate?, :willValidate) |