watir-webdriver 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +78 -126
- data/LICENSE +3 -1
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/lib/watir-webdriver.rb +15 -1
- data/lib/watir-webdriver/browser.rb +2 -1
- data/lib/watir-webdriver/cookies.rb +35 -7
- data/lib/watir-webdriver/elements/area.rb +13 -0
- data/lib/watir-webdriver/elements/element.rb +3 -3
- data/lib/watir-webdriver/elements/generated.rb +94 -55
- data/lib/watir-webdriver/elements/{frame.rb → iframe.rb} +41 -28
- data/lib/watir-webdriver/elements/input.rb +0 -16
- data/lib/watir-webdriver/elements/link.rb +13 -1
- data/lib/watir-webdriver/elements/text_area.rb +17 -0
- data/lib/watir-webdriver/html/generator.rb +2 -2
- data/lib/watir-webdriver/html/spec_extractor.rb +31 -4
- data/lib/watir-webdriver/html/visitor.rb +12 -4
- data/lib/watir-webdriver/locators/button_locator.rb +7 -13
- data/lib/watir-webdriver/locators/element_locator.rb +9 -5
- data/lib/watir-webdriver/locators/text_area_locator.rb +20 -0
- data/lib/watir-webdriver/locators/text_field_locator.rb +8 -0
- data/lib/watir-webdriver/version.rb +1 -1
- data/lib/watir-webdriver/wait.rb +23 -11
- data/spec/browser_spec.rb +18 -18
- data/spec/click_spec.rb +5 -5
- data/spec/container_spec.rb +5 -11
- data/spec/element_locator_spec.rb +32 -26
- data/spec/element_spec.rb +9 -9
- data/spec/implementation.rb +6 -2
- data/spec/input_spec.rb +11 -5
- data/spec/locator_spec_helper.rb +3 -3
- data/spec/special_chars_spec.rb +1 -1
- data/support/travis.sh +19 -5
- data/watir-webdriver.gemspec +1 -0
- metadata +37 -38
- data/spec/html/wait.html +0 -28
- data/spec/wait_spec.rb +0 -118
data/LICENSE
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -61,7 +61,7 @@ namespace :html5 do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
desc 'Re-
|
64
|
+
desc 'Re-generate the base Watir element classes from the spec'
|
65
65
|
task :generate => :html_lib do
|
66
66
|
old_file = "lib/watir-webdriver/elements/generated.rb"
|
67
67
|
generator = Watir::HTML::Generator.new
|
data/lib/watir-webdriver.rb
CHANGED
@@ -13,6 +13,7 @@ require 'watir-webdriver/container'
|
|
13
13
|
require 'watir-webdriver/cookies'
|
14
14
|
require 'watir-webdriver/locators/element_locator'
|
15
15
|
require 'watir-webdriver/locators/button_locator'
|
16
|
+
require 'watir-webdriver/locators/text_area_locator'
|
16
17
|
require 'watir-webdriver/locators/text_field_locator'
|
17
18
|
require 'watir-webdriver/locators/child_row_locator'
|
18
19
|
require 'watir-webdriver/locators/child_cell_locator'
|
@@ -35,6 +36,18 @@ module Watir
|
|
35
36
|
def always_locate=(bool)
|
36
37
|
@always_locate = bool
|
37
38
|
end
|
39
|
+
|
40
|
+
def default_timeout
|
41
|
+
@default_timeout ||= 30
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
# Default wait time for wait methods.
|
46
|
+
#
|
47
|
+
|
48
|
+
def default_timeout=(value)
|
49
|
+
@default_timeout = value
|
50
|
+
end
|
38
51
|
|
39
52
|
def prefer_css?
|
40
53
|
@prefer_css
|
@@ -76,13 +89,14 @@ require 'watir-webdriver/element_collection'
|
|
76
89
|
require 'watir-webdriver/elements/element'
|
77
90
|
require 'watir-webdriver/elements/generated'
|
78
91
|
|
92
|
+
require 'watir-webdriver/elements/area'
|
79
93
|
require 'watir-webdriver/elements/button'
|
80
94
|
require 'watir-webdriver/elements/checkbox'
|
81
95
|
require 'watir-webdriver/elements/dlist'
|
82
96
|
require 'watir-webdriver/elements/file_field'
|
83
97
|
require 'watir-webdriver/elements/font'
|
84
98
|
require 'watir-webdriver/elements/form'
|
85
|
-
require 'watir-webdriver/elements/
|
99
|
+
require 'watir-webdriver/elements/iframe'
|
86
100
|
require 'watir-webdriver/elements/hidden'
|
87
101
|
require 'watir-webdriver/elements/image'
|
88
102
|
require 'watir-webdriver/elements/input'
|
@@ -108,6 +108,7 @@ module Watir
|
|
108
108
|
#
|
109
109
|
|
110
110
|
def url
|
111
|
+
assert_exists
|
111
112
|
@driver.current_url
|
112
113
|
end
|
113
114
|
|
@@ -155,7 +156,7 @@ module Watir
|
|
155
156
|
# browser.name
|
156
157
|
# #=> :chrome
|
157
158
|
#
|
158
|
-
# @return [
|
159
|
+
# @return [Symbol]
|
159
160
|
#
|
160
161
|
|
161
162
|
def name
|
@@ -1,5 +1,8 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
1
3
|
module Watir
|
2
4
|
class Cookies
|
5
|
+
|
3
6
|
def initialize(control)
|
4
7
|
@control = control
|
5
8
|
end
|
@@ -31,7 +34,7 @@ module Watir
|
|
31
34
|
# @param [Hash] opts
|
32
35
|
# @option opts [Boolean] :secure
|
33
36
|
# @option opts [String] :path
|
34
|
-
# @option opts [] :expires
|
37
|
+
# @option opts [Time, DateTime, NilClass] :expires
|
35
38
|
# @option opts [String] :domain
|
36
39
|
#
|
37
40
|
|
@@ -42,12 +45,9 @@ module Watir
|
|
42
45
|
:secure => opts[:secure],
|
43
46
|
:path => opts[:path],
|
44
47
|
:expires => opts[:expires],
|
48
|
+
:domain => opts[:domain],
|
45
49
|
}
|
46
50
|
|
47
|
-
if opts[:domain]
|
48
|
-
cookie[:domain] = opts[:domain]
|
49
|
-
end
|
50
|
-
|
51
51
|
@control.add_cookie cookie
|
52
52
|
end
|
53
53
|
|
@@ -75,6 +75,34 @@ module Watir
|
|
75
75
|
@control.delete_all_cookies
|
76
76
|
end
|
77
77
|
|
78
|
+
#
|
79
|
+
# Save cookies to file
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
# browser.cookies.save '.cookies'
|
83
|
+
#
|
84
|
+
# @param [String] file
|
85
|
+
#
|
86
|
+
|
87
|
+
def save(file = '.cookies')
|
88
|
+
IO.write(file, to_a.to_yaml)
|
89
|
+
end
|
90
|
+
|
91
|
+
#
|
92
|
+
# Load cookies from file
|
93
|
+
#
|
94
|
+
# @example
|
95
|
+
# browser.cookies.load '.cookies'
|
96
|
+
#
|
97
|
+
# @param [String] file
|
98
|
+
#
|
99
|
+
|
100
|
+
def load(file = '.cookies')
|
101
|
+
YAML.load(IO.read(file)).each do |c|
|
102
|
+
add(c.delete(:name), c.delete(:value), c)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
78
106
|
private
|
79
107
|
|
80
108
|
def to_time(t)
|
@@ -84,6 +112,6 @@ module Watir
|
|
84
112
|
::Time.local t.year, t.month, t.day, t.hour, t.min, t.sec
|
85
113
|
end
|
86
114
|
end
|
87
|
-
end
|
88
|
-
end
|
89
115
|
|
116
|
+
end # Cookies
|
117
|
+
end # Watir
|
@@ -275,11 +275,11 @@ module Watir
|
|
275
275
|
end
|
276
276
|
|
277
277
|
#
|
278
|
-
# Returns inner HTML code of element.
|
278
|
+
# Returns outer (inner + element itself) HTML code of element.
|
279
279
|
#
|
280
280
|
# @example
|
281
281
|
# browser.div(:id => "foo").html
|
282
|
-
# #=> "<a>Click</a>"
|
282
|
+
# #=> "<div id=\"foo\"><a>Click</a></div>"
|
283
283
|
#
|
284
284
|
# @return [String]
|
285
285
|
#
|
@@ -547,7 +547,7 @@ module Watir
|
|
547
547
|
|
548
548
|
def method_missing(meth, *args, &blk)
|
549
549
|
method = meth.to_s
|
550
|
-
if method =~
|
550
|
+
if method =~ ElementLocator::WILDCARD_ATTRIBUTE
|
551
551
|
attribute_value(method.gsub(/_/, '-'), *args)
|
552
552
|
else
|
553
553
|
super
|
@@ -61,6 +61,15 @@ module Watir
|
|
61
61
|
|
62
62
|
|
63
63
|
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
64
73
|
|
65
74
|
|
66
75
|
|
@@ -72,7 +81,7 @@ module Watir
|
|
72
81
|
|
73
82
|
|
74
83
|
class HTMLElement < Element
|
75
|
-
attributes(:string => [:access_key, :access_key_label, :command_icon, :command_label, :command_type, :content_editable, :dir, :item_id, :item_value, :lang, :title], :bool => [:command_checked, :command_disabled, :command_hidden, :draggable, :hidden, :content_editable, :item_scope, :spellcheck, :translate], :html_element => [:context_menu], :string_map => [:dataset], :token_list => [:dropzone, :item_prop, :item_ref, :item_type], :function => [:onabort, :onblur, :oncancel, :oncanplay, :oncanplaythrough, :onchange, :onclick, :onclose, :oncontextmenu, :oncuechange, :ondblclick, :ondrag, :ondragend, :ondragenter, :ondragleave, :ondragover, :ondragstart, :ondrop, :ondurationchange, :onemptied, :onended, :onerror, :onfocus, :oninput, :oninvalid, :onkeydown, :onkeypress, :onkeyup, :onload, :onloadeddata, :onloadedmetadata, :onloadstart, :onmousedown, :onmousemove, :onmouseout, :onmouseover, :onmouseup, :onmousewheel, :onpause, :onplay, :onplaying, :onprogress, :onratechange, :onreset, :onscroll, :onseeked, :onseeking, :onselect, :onshow, :onstalled, :onsubmit, :onsuspend, :ontimeupdate, :onvolumechange, :onwaiting], :properties_collection => [:properties], :
|
84
|
+
attributes(:string => [:access_key, :access_key_label, :command_icon, :command_label, :command_type, :content_editable, :dir, :item_id, :item_value, :lang, :title], :bool => [:command_checked, :command_disabled, :command_hidden, :draggable, :hidden, :inert, :content_editable, :item_scope, :spellcheck, :translate], :html_element => [:context_menu], :string_map => [:dataset], :token_list => [:dropzone, :item_prop, :item_ref, :item_type], :function => [:onabort, :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, :onscroll, :onseeked, :onseeking, :onselect, :onshow, :onsort, :onstalled, :onsubmit, :onsuspend, :ontimeupdate, :onvolumechange, :onwaiting], :properties_collection => [:properties], :int => [:tab_index])
|
76
85
|
end
|
77
86
|
class HTMLElementCollection < ElementCollection
|
78
87
|
def element_class
|
@@ -95,24 +104,8 @@ module Watir
|
|
95
104
|
Directory
|
96
105
|
end
|
97
106
|
end
|
98
|
-
class BaseFont < HTMLElement
|
99
|
-
attributes(:string => [:color, :face], :int => [:size])
|
100
|
-
end
|
101
|
-
class BaseFontCollection < ElementCollection
|
102
|
-
def element_class
|
103
|
-
BaseFont
|
104
|
-
end
|
105
|
-
end
|
106
|
-
class Frame < HTMLElement
|
107
|
-
attributes(:document => [:content_document], :string => [:content_window, :frame_border, :long_desc, :margin_height, :margin_width, :name, :scrolling, :src], :bool => [:no_resize])
|
108
|
-
end
|
109
|
-
class FrameCollection < ElementCollection
|
110
|
-
def element_class
|
111
|
-
Frame
|
112
|
-
end
|
113
|
-
end
|
114
107
|
class FrameSet < HTMLElement
|
115
|
-
attributes(:string => [:cols, :rows], :function => [:onafterprint, :onbeforeprint, :onbeforeunload, :
|
108
|
+
attributes(:string => [:cols, :rows], :function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onhashchange, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onresize, :onstorage, :onunload])
|
116
109
|
end
|
117
110
|
class FrameSetCollection < ElementCollection
|
118
111
|
def element_class
|
@@ -143,6 +136,14 @@ module Watir
|
|
143
136
|
Dialog
|
144
137
|
end
|
145
138
|
end
|
139
|
+
class MenuItem < HTMLElement
|
140
|
+
attributes(:bool => [:checked, :default, :disabled], :html_element => [:command], :string => [:icon, :label, :radiogroup, :type])
|
141
|
+
end
|
142
|
+
class MenuItemCollection < ElementCollection
|
143
|
+
def element_class
|
144
|
+
MenuItem
|
145
|
+
end
|
146
|
+
end
|
146
147
|
class Menu < HTMLElement
|
147
148
|
attributes(:string => [:label, :type])
|
148
149
|
end
|
@@ -155,14 +156,6 @@ module Watir
|
|
155
156
|
attributes(:bool => [:compact])
|
156
157
|
end
|
157
158
|
# do nothing
|
158
|
-
class Command < HTMLElement
|
159
|
-
attributes(:bool => [:checked, :disabled], :html_element => [:command], :string => [:icon, :label, :radiogroup, :type])
|
160
|
-
end
|
161
|
-
class CommandCollection < ElementCollection
|
162
|
-
def element_class
|
163
|
-
Command
|
164
|
-
end
|
165
|
-
end
|
166
159
|
class Details < HTMLElement
|
167
160
|
attributes(:bool => [:open])
|
168
161
|
end
|
@@ -244,7 +237,7 @@ module Watir
|
|
244
237
|
end
|
245
238
|
end
|
246
239
|
class Button < HTMLElement
|
247
|
-
attributes(:bool => [:autofocus, :disabled, :form_no_validate, :will_validate], :html_element => [:form], :string => [:form_action, :form_enctype, :form_method, :form_target, :name, :type, :validation_message, :validity, :value], :list => [:labels])
|
240
|
+
attributes(:bool => [:autofocus, :disabled, :form_no_validate, :will_validate], :html_element => [:form, :menu], :string => [:form_action, :form_enctype, :form_method, :form_target, :name, :type, :validation_message, :validity, :value], :list => [:labels])
|
248
241
|
end
|
249
242
|
class ButtonCollection < ElementCollection
|
250
243
|
def element_class
|
@@ -308,11 +301,11 @@ module Watir
|
|
308
301
|
end
|
309
302
|
end
|
310
303
|
class TableCell < HTMLElement
|
311
|
-
attributes(:string => [:
|
304
|
+
attributes(:string => [:align, :axis, :bg_color, :ch, :ch_off, :height, :v_align, :width], :bool => [:no_wrap])
|
312
305
|
end
|
313
306
|
# do nothing
|
314
307
|
class TableHeaderCell < TableCell
|
315
|
-
attributes(:string => [:abbr, :scope])
|
308
|
+
attributes(:string => [:abbr, :scope, :sorted])
|
316
309
|
end
|
317
310
|
class TableHeaderCellCollection < ElementCollection
|
318
311
|
def element_class
|
@@ -327,6 +320,10 @@ module Watir
|
|
327
320
|
TableDataCell
|
328
321
|
end
|
329
322
|
end
|
323
|
+
class TableDataCell < TableCell
|
324
|
+
attributes(:string => [:abbr])
|
325
|
+
end
|
326
|
+
# do nothing
|
330
327
|
class TableRow < HTMLElement
|
331
328
|
attributes(:html_collection => [:cells], :int => [:row_index, :section_row_index])
|
332
329
|
end
|
@@ -376,7 +373,7 @@ module Watir
|
|
376
373
|
end
|
377
374
|
# do nothing
|
378
375
|
class Table < HTMLElement
|
379
|
-
attributes(:html_element => [:caption, :t_foot, :t_head], :html_collection => [:rows, :t_bodies])
|
376
|
+
attributes(:html_element => [:caption, :t_foot, :t_head], :html_collection => [:rows, :t_bodies], :bool => [:sortable])
|
380
377
|
end
|
381
378
|
class TableCollection < ElementCollection
|
382
379
|
def element_class
|
@@ -388,7 +385,7 @@ module Watir
|
|
388
385
|
end
|
389
386
|
# do nothing
|
390
387
|
class Area < HTMLElement
|
391
|
-
attributes(:string => [:alt, :coords, :download, :
|
388
|
+
attributes(:string => [:alt, :coords, :download, :hreflang, :ping, :rel, :shape, :target, :type], :token_list => [:rel_list])
|
392
389
|
end
|
393
390
|
class AreaCollection < ElementCollection
|
394
391
|
def element_class
|
@@ -416,7 +413,7 @@ module Watir
|
|
416
413
|
end
|
417
414
|
end
|
418
415
|
class Media < HTMLElement
|
419
|
-
attributes(:list => [:audio_tracks, :text_tracks, :video_tracks], :bool => [:autoplay, :controls, :default_muted, :ended, :loop, :muted, :paused, :seeking], :string => [:buffered, :controller, :cross_origin, :current_src, :error, :media_group, :played, :preload, :seekable, :src], :float => [:current_time, :default_playback_rate, :duration, :playback_rate, :volume], :int => [:network_state, :ready_state]
|
416
|
+
attributes(:list => [:audio_tracks, :text_tracks, :video_tracks], :bool => [:autoplay, :controls, :default_muted, :ended, :loop, :muted, :paused, :seeking], :string => [:buffered, :controller, :cross_origin, :current_src, :error, :media_group, :played, :preload, :seekable, :src], :float => [:current_time, :default_playback_rate, :duration, :playback_rate, :volume], :int => [:network_state, :ready_state])
|
420
417
|
end
|
421
418
|
class MediaCollection < ElementCollection
|
422
419
|
def element_class
|
@@ -492,7 +489,7 @@ module Watir
|
|
492
489
|
end
|
493
490
|
# do nothing
|
494
491
|
class IFrame < HTMLElement
|
495
|
-
attributes(:document => [:content_document], :string => [:content_window, :height, :name, :src, :srcdoc, :width], :token_list => [:sandbox]
|
492
|
+
attributes(:bool => [:allow_fullscreen, :seamless], :document => [:content_document], :string => [:content_window, :height, :name, :src, :srcdoc, :width], :token_list => [:sandbox])
|
496
493
|
end
|
497
494
|
class IFrameCollection < ElementCollection
|
498
495
|
def element_class
|
@@ -512,7 +509,7 @@ module Watir
|
|
512
509
|
end
|
513
510
|
end
|
514
511
|
class Image < HTMLElement
|
515
|
-
attributes(:string => [:align, :border, :long_desc, :name], :int => [:hspace, :vspace])
|
512
|
+
attributes(:string => [:align, :border, :long_desc, :lowsrc, :name], :int => [:hspace, :vspace])
|
516
513
|
end
|
517
514
|
# do nothing
|
518
515
|
class Mod < HTMLElement
|
@@ -544,7 +541,7 @@ module Watir
|
|
544
541
|
end
|
545
542
|
end
|
546
543
|
class Time < HTMLElement
|
547
|
-
attributes(:string => [:
|
544
|
+
attributes(:string => [:date_time])
|
548
545
|
end
|
549
546
|
class TimeCollection < ElementCollection
|
550
547
|
def element_class
|
@@ -560,7 +557,7 @@ module Watir
|
|
560
557
|
end
|
561
558
|
end
|
562
559
|
class Anchor < HTMLElement
|
563
|
-
attributes(:string => [:download, :
|
560
|
+
attributes(:string => [:download, :hreflang, :ping, :rel, :target, :text, :type], :token_list => [:rel_list])
|
564
561
|
end
|
565
562
|
class AnchorCollection < ElementCollection
|
566
563
|
def element_class
|
@@ -688,7 +685,7 @@ module Watir
|
|
688
685
|
end
|
689
686
|
# do nothing
|
690
687
|
class Body < HTMLElement
|
691
|
-
attributes(:function => [:onafterprint, :onbeforeprint, :onbeforeunload, :
|
688
|
+
attributes(:function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onhashchange, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onresize, :onstorage, :onunload])
|
692
689
|
end
|
693
690
|
class BodyCollection < ElementCollection
|
694
691
|
def element_class
|
@@ -699,8 +696,16 @@ module Watir
|
|
699
696
|
attributes(:string => [:a_link, :background, :bg_color, :link, :text, :v_link])
|
700
697
|
end
|
701
698
|
# do nothing
|
699
|
+
class Template < HTMLElement
|
700
|
+
attributes(:document => [:content])
|
701
|
+
end
|
702
|
+
class TemplateCollection < ElementCollection
|
703
|
+
def element_class
|
704
|
+
Template
|
705
|
+
end
|
706
|
+
end
|
702
707
|
class Script < HTMLElement
|
703
|
-
attributes(:bool => [:async, :defer], :string => [:charset, :src, :text, :type])
|
708
|
+
attributes(:bool => [:async, :defer], :string => [:charset, :cross_origin, :src, :text, :type])
|
704
709
|
end
|
705
710
|
class ScriptCollection < ElementCollection
|
706
711
|
def element_class
|
@@ -1146,23 +1151,6 @@ module Watir
|
|
1146
1151
|
|
1147
1152
|
Watir.tag_to_class[:colgroup] = TableCol
|
1148
1153
|
#
|
1149
|
-
# @return [Command]
|
1150
|
-
#
|
1151
|
-
|
1152
|
-
def command(*args)
|
1153
|
-
Command.new(self, extract_selector(args).merge(:tag_name => "command"))
|
1154
|
-
end
|
1155
|
-
|
1156
|
-
#
|
1157
|
-
# @return [CommandCollection]
|
1158
|
-
#
|
1159
|
-
|
1160
|
-
def commands(*args)
|
1161
|
-
CommandCollection.new(self, extract_selector(args).merge(:tag_name => "command"))
|
1162
|
-
end
|
1163
|
-
|
1164
|
-
Watir.tag_to_class[:command] = Command
|
1165
|
-
#
|
1166
1154
|
# @return [Data]
|
1167
1155
|
#
|
1168
1156
|
|
@@ -1826,6 +1814,23 @@ module Watir
|
|
1826
1814
|
|
1827
1815
|
Watir.tag_to_class[:li] = LI
|
1828
1816
|
#
|
1817
|
+
# @return [HTMLElement]
|
1818
|
+
#
|
1819
|
+
|
1820
|
+
def main(*args)
|
1821
|
+
HTMLElement.new(self, extract_selector(args).merge(:tag_name => "main"))
|
1822
|
+
end
|
1823
|
+
|
1824
|
+
#
|
1825
|
+
# @return [HTMLElementCollection]
|
1826
|
+
#
|
1827
|
+
|
1828
|
+
def mains(*args)
|
1829
|
+
HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "main"))
|
1830
|
+
end
|
1831
|
+
|
1832
|
+
Watir.tag_to_class[:main] = HTMLElement
|
1833
|
+
#
|
1829
1834
|
# @return [Map]
|
1830
1835
|
#
|
1831
1836
|
|
@@ -1877,6 +1882,23 @@ module Watir
|
|
1877
1882
|
|
1878
1883
|
Watir.tag_to_class[:menu] = Menu
|
1879
1884
|
#
|
1885
|
+
# @return [MenuItem]
|
1886
|
+
#
|
1887
|
+
|
1888
|
+
def menuitem(*args)
|
1889
|
+
MenuItem.new(self, extract_selector(args).merge(:tag_name => "menuitem"))
|
1890
|
+
end
|
1891
|
+
|
1892
|
+
#
|
1893
|
+
# @return [MenuItemCollection]
|
1894
|
+
#
|
1895
|
+
|
1896
|
+
def menuitems(*args)
|
1897
|
+
MenuItemCollection.new(self, extract_selector(args).merge(:tag_name => "menuitem"))
|
1898
|
+
end
|
1899
|
+
|
1900
|
+
Watir.tag_to_class[:menuitem] = MenuItem
|
1901
|
+
#
|
1880
1902
|
# @return [Meta]
|
1881
1903
|
#
|
1882
1904
|
|
@@ -2438,6 +2460,23 @@ module Watir
|
|
2438
2460
|
|
2439
2461
|
Watir.tag_to_class[:td] = TableDataCell
|
2440
2462
|
#
|
2463
|
+
# @return [Template]
|
2464
|
+
#
|
2465
|
+
|
2466
|
+
def template(*args)
|
2467
|
+
Template.new(self, extract_selector(args).merge(:tag_name => "template"))
|
2468
|
+
end
|
2469
|
+
|
2470
|
+
#
|
2471
|
+
# @return [TemplateCollection]
|
2472
|
+
#
|
2473
|
+
|
2474
|
+
def templates(*args)
|
2475
|
+
TemplateCollection.new(self, extract_selector(args).merge(:tag_name => "template"))
|
2476
|
+
end
|
2477
|
+
|
2478
|
+
Watir.tag_to_class[:template] = Template
|
2479
|
+
#
|
2441
2480
|
# @return [TextArea]
|
2442
2481
|
#
|
2443
2482
|
|