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.
-
#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, #enabled?, #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.
354 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 354 attribute(String, :autocomplete, :autocomplete) |
#autofocus? ⇒ Boolean
Returns value of autofocus property.
355 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 355 attribute("Boolean", :autofocus?, :autofocus) |
#clear ⇒ Object
Clears all selected options.
9 10 11 12 13 14 15 16 17 |
# File 'lib/watir-webdriver/elements/select.rb', line 9 def clear assert_exists raise Error, "you can only clear multi-selects" unless multiple? .each do |o| click_option(o) if o.selected? end end |
#disabled? ⇒ Boolean
Returns value of disabled property.
356 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 356 attribute("Boolean", :disabled?, :disabled) |
#form ⇒ String
Returns value of form property.
357 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 357 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.
37 38 39 40 41 42 43 44 45 |
# File 'lib/watir-webdriver/elements/select.rb', line 37 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.
371 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 371 attribute(String, :labels, :labels) |
#length ⇒ Fixnum
Returns value of length property.
364 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 364 attribute(Fixnum, :length, :length) |
#multiple? ⇒ Boolean
Returns value of multiple property.
358 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 358 attribute("Boolean", :multiple?, :multiple) |
#name ⇒ String
Returns value of name property.
359 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 359 attribute(String, :name, :name) |
#options ⇒ String
Returns value of options property.
25 26 27 28 |
# File 'lib/watir-webdriver/elements/select.rb', line 25 def assert_exists super end |
#required? ⇒ Boolean
Returns value of required property.
360 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 360 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.
56 57 58 |
# File 'lib/watir-webdriver/elements/select.rb', line 56 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.
70 71 72 |
# File 'lib/watir-webdriver/elements/select.rb', line 70 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.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/watir-webdriver/elements/select.rb', line 82 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.
366 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 366 attribute(Fixnum, :selected_index, :selectedIndex) |
#selected_options ⇒ String
Returns value of selectedOptions property.
121 122 123 |
# File 'lib/watir-webdriver/elements/select.rb', line 121 def .select { |e| e.selected? } end |
#size ⇒ Fixnum
Returns value of size property.
361 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 361 attribute(Fixnum, :size, :size) |
#type ⇒ String
Returns value of type property.
362 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 362 attribute(String, :type, :type) |
#validation_message ⇒ String
Returns value of validationMessage property.
370 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 370 attribute(String, :validation_message, :validationMessage) |
#validity ⇒ String
Returns value of validity property.
369 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 369 attribute(String, :validity, :validity) |
#value ⇒ String
Returns value of value property.
109 110 111 112 |
# File 'lib/watir-webdriver/elements/select.rb', line 109 def value o = .find { |e| e.selected? } || return o.value end |
#will_validate? ⇒ Boolean
Returns value of willValidate property.
368 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 368 attribute("Boolean", :will_validate?, :willValidate) |