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
354 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 354 attribute(String, :autocomplete, :autocomplete) |
#autofocus? ⇒ Boolean
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
356 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 356 attribute("Boolean", :disabled?, :disabled) |
#form ⇒ String
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
371 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 371 attribute(String, :labels, :labels) |
#length ⇒ Fixnum
364 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 364 attribute(Fixnum, :length, :length) |
#multiple? ⇒ Boolean
358 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 358 attribute("Boolean", :multiple?, :multiple) |
#name ⇒ String
359 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 359 attribute(String, :name, :name) |
#options ⇒ String
25 26 27 28 |
# File 'lib/watir-webdriver/elements/select.rb', line 25 def assert_exists super end |
#required? ⇒ Boolean
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
366 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 366 attribute(Fixnum, :selected_index, :selectedIndex) |
#selected_options ⇒ String
121 122 123 |
# File 'lib/watir-webdriver/elements/select.rb', line 121 def .select { |e| e.selected? } end |
#size ⇒ Fixnum
361 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 361 attribute(Fixnum, :size, :size) |
#type ⇒ String
362 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 362 attribute(String, :type, :type) |
#validation_message ⇒ String
370 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 370 attribute(String, :validation_message, :validationMessage) |
#validity ⇒ String
369 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 369 attribute(String, :validity, :validity) |
#value ⇒ String
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
368 |
# File 'lib/watir-webdriver/elements/html_elements.rb', line 368 attribute("Boolean", :will_validate?, :willValidate) |