watir-nokogiri 1.0.0

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.
Files changed (43) hide show
  1. data/LICENSE +22 -0
  2. data/README.md +65 -0
  3. data/lib/watir-nokogiri.rb +69 -0
  4. data/lib/watir-nokogiri/aliases.rb +6 -0
  5. data/lib/watir-nokogiri/attribute_helper.rb +145 -0
  6. data/lib/watir-nokogiri/cell_container.rb +31 -0
  7. data/lib/watir-nokogiri/container.rb +50 -0
  8. data/lib/watir-nokogiri/document.rb +171 -0
  9. data/lib/watir-nokogiri/element_collection.rb +93 -0
  10. data/lib/watir-nokogiri/elements/button.rb +71 -0
  11. data/lib/watir-nokogiri/elements/checkbox.rb +61 -0
  12. data/lib/watir-nokogiri/elements/dlist.rb +12 -0
  13. data/lib/watir-nokogiri/elements/element.rb +319 -0
  14. data/lib/watir-nokogiri/elements/file_field.rb +45 -0
  15. data/lib/watir-nokogiri/elements/font.rb +11 -0
  16. data/lib/watir-nokogiri/elements/form.rb +17 -0
  17. data/lib/watir-nokogiri/elements/frame.rb +75 -0
  18. data/lib/watir-nokogiri/elements/generated.rb +2662 -0
  19. data/lib/watir-nokogiri/elements/hidden.rb +24 -0
  20. data/lib/watir-nokogiri/elements/image.rb +59 -0
  21. data/lib/watir-nokogiri/elements/input.rb +34 -0
  22. data/lib/watir-nokogiri/elements/link.rb +7 -0
  23. data/lib/watir-nokogiri/elements/option.rb +83 -0
  24. data/lib/watir-nokogiri/elements/radio.rb +44 -0
  25. data/lib/watir-nokogiri/elements/select.rb +126 -0
  26. data/lib/watir-nokogiri/elements/table.rb +44 -0
  27. data/lib/watir-nokogiri/elements/table_cell.rb +36 -0
  28. data/lib/watir-nokogiri/elements/table_row.rb +46 -0
  29. data/lib/watir-nokogiri/elements/table_section.rb +15 -0
  30. data/lib/watir-nokogiri/elements/text_area.rb +22 -0
  31. data/lib/watir-nokogiri/elements/text_field.rb +44 -0
  32. data/lib/watir-nokogiri/exception.rb +20 -0
  33. data/lib/watir-nokogiri/locators/button_locator.rb +54 -0
  34. data/lib/watir-nokogiri/locators/child_cell_locator.rb +24 -0
  35. data/lib/watir-nokogiri/locators/child_row_locator.rb +29 -0
  36. data/lib/watir-nokogiri/locators/element_locator.rb +298 -0
  37. data/lib/watir-nokogiri/locators/text_area_locator.rb +20 -0
  38. data/lib/watir-nokogiri/locators/text_field_locator.rb +71 -0
  39. data/lib/watir-nokogiri/row_container.rb +42 -0
  40. data/lib/watir-nokogiri/user_editable.rb +38 -0
  41. data/lib/watir-nokogiri/version.rb +3 -0
  42. data/lib/watir-nokogiri/xpath_support.rb +22 -0
  43. metadata +102 -0
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ module WatirNokogiri
3
+ class FileField < Input
4
+
5
+ #
6
+ # Set the file field to the given path
7
+ #
8
+ # @param [String] a path
9
+ # @raise [Errno::ENOENT] if the file doesn't exist
10
+ #
11
+
12
+ def set(path)
13
+ assert_exists
14
+ raise NotImplementedError, "not currently supported by WatirNokogiri"
15
+ end
16
+
17
+ #
18
+ # Sets the file field to the given path
19
+ #
20
+ # @param [String] path
21
+ #
22
+
23
+ def value=(path)
24
+ assert_exists
25
+ raise NotImplementedError, "not currently supported by WatirNokogiri"
26
+ end
27
+
28
+ end # FileField
29
+
30
+ module Container
31
+ def file_field(*args)
32
+ FileField.new(self, extract_selector(args).merge(:tag_name => "input", :type => "file"))
33
+ end
34
+
35
+ def file_fields(*args)
36
+ FileFieldCollection.new(self, extract_selector(args).merge(:tag_name => "input", :type => "file"))
37
+ end
38
+ end # Container
39
+
40
+ class FileFieldCollection < InputCollection
41
+ def element_class
42
+ FileField
43
+ end
44
+ end # FileFieldCollection
45
+ end # WatirNokogiri
@@ -0,0 +1,11 @@
1
+ module WatirNokogiri
2
+ module Container
3
+ def font(*args)
4
+ Font.new(self, extract_selector(args).merge(:tag_name => "font"))
5
+ end
6
+
7
+ def fonts(*args)
8
+ FontCollection.new(self, extract_selector(args).merge(:tag_name => "font"))
9
+ end
10
+ end # Container
11
+ end # WatirNokogiri
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+ module WatirNokogiri
3
+ class Form < HTMLElement
4
+
5
+ #
6
+ # Submits the form.
7
+ #
8
+ # This method should be avoided - invoke the user interface element that triggers the submit instead.
9
+ #
10
+
11
+ def submit
12
+ assert_exists
13
+ raise NotImplementedError, "not currently supported by WatirNokogiri"
14
+ end
15
+
16
+ end # Form
17
+ end # WatirNokogiri
@@ -0,0 +1,75 @@
1
+ # encoding: utf-8
2
+ module WatirNokogiri
3
+ class Frame < HTMLElement
4
+
5
+ def locate
6
+ @parent.assert_exists
7
+
8
+ element = locate_iframe || locate_frame
9
+ element or raise UnknownFrameException, "unable to locate frame/iframe using #{@selector.inspect}"
10
+ end
11
+
12
+ def assert_exists
13
+ if @selector.has_key? :element
14
+ raise UnknownFrameException, "wrapping a Nokogiri element as a Frame is not currently supported"
15
+ end
16
+
17
+ super
18
+ end
19
+
20
+ def html
21
+ assert_exists
22
+
23
+ # this will actually give us the innerHTML instead of the outerHTML of the <frame>,
24
+ # but given the choice this seems more useful
25
+ execute_atom(:getOuterHtml, @element.find_element(:tag_name => "html")).strip
26
+ end
27
+
28
+ def execute_script(*args)
29
+ browser.execute_script(*args)
30
+ end
31
+
32
+ private
33
+
34
+ def locate_iframe
35
+ locator = locator_class.new(@parent.nokogiri, @selector.merge(:tag_name => "iframe"), attribute_list)
36
+ locator.locate
37
+ end
38
+
39
+ def locate_frame
40
+ locator = locator_class.new(@parent.nokogiri, @selector.merge(:tag_name => "frame"), attribute_list)
41
+ locator.locate
42
+ end
43
+
44
+ def attribute_list
45
+ self.class.attribute_list | IFrame.attribute_list
46
+ end
47
+ end # Frame
48
+
49
+ module Container
50
+ def frame(*args)
51
+ Frame.new(self, extract_selector(args))
52
+ end
53
+
54
+ def frames(*args)
55
+ FrameCollection.new(self, extract_selector(args).merge(:tag_name => /^(iframe|frame)$/)) # hack
56
+ end
57
+
58
+ def iframe(*args)
59
+ warn "WatirNokogiri::Container#iframe is replaced by WatirNokogiri::Container#frame"
60
+ frame(*args)
61
+ end
62
+
63
+ def iframes(*args)
64
+ warn "WatirNokogiri::Container#iframes is replaced by WatirNokogiri::Container#frames"
65
+ frame(*args)
66
+ end
67
+ end
68
+
69
+ class FrameCollection < ElementCollection
70
+ def to_a
71
+ (0...elements.size).map { |idx| element_class.new @parent, :index => idx }
72
+ end
73
+ end
74
+
75
+ end # WatirNokogiri
@@ -0,0 +1,2662 @@
1
+ # Autogenerated from the HTML5 specification. Edits may be lost.
2
+ module WatirNokogiri
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ 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], :style => [:style], :int => [:tab_index])
76
+ end
77
+ class HTMLElementCollection < ElementCollection
78
+ def element_class
79
+ HTMLElement
80
+ end
81
+ end
82
+ class Font < HTMLElement
83
+ attributes(:string => [:color, :face, :size])
84
+ end
85
+ class FontCollection < ElementCollection
86
+ def element_class
87
+ Font
88
+ end
89
+ end
90
+ class Directory < HTMLElement
91
+ attributes(:bool => [:compact])
92
+ end
93
+ class DirectoryCollection < ElementCollection
94
+ def element_class
95
+ Directory
96
+ end
97
+ 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
+ class FrameSet < HTMLElement
115
+ attributes(:string => [:cols, :rows], :function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onresize, :onscroll, :onstorage, :onunload])
116
+ end
117
+ class FrameSetCollection < ElementCollection
118
+ def element_class
119
+ FrameSet
120
+ end
121
+ end
122
+ class Marquee < HTMLElement
123
+ attributes(:string => [:behavior, :bg_color, :direction, :height, :width], :int => [:hspace, :loop, :scroll_amount, :scroll_delay, :vspace], :function => [:onbounce, :onfinish, :onstart], :bool => [:true_speed])
124
+ end
125
+ class MarqueeCollection < ElementCollection
126
+ def element_class
127
+ Marquee
128
+ end
129
+ end
130
+ class Applet < HTMLElement
131
+ attributes(:string => [:align, :alt, :archive, :code, :code_base, :height, :name, :object, :width], :int => [:hspace, :vspace])
132
+ end
133
+ class AppletCollection < ElementCollection
134
+ def element_class
135
+ Applet
136
+ end
137
+ end
138
+ class Dialog < HTMLElement
139
+ attributes(:bool => [:open], :string => [:return_value])
140
+ end
141
+ class DialogCollection < ElementCollection
142
+ def element_class
143
+ Dialog
144
+ end
145
+ end
146
+ class Menu < HTMLElement
147
+ attributes(:string => [:label, :type])
148
+ end
149
+ class MenuCollection < ElementCollection
150
+ def element_class
151
+ Menu
152
+ end
153
+ end
154
+ class Menu < HTMLElement
155
+ attributes(:bool => [:compact])
156
+ end
157
+ # 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
+ class Details < HTMLElement
167
+ attributes(:bool => [:open])
168
+ end
169
+ class DetailsCollection < ElementCollection
170
+ def element_class
171
+ Details
172
+ end
173
+ end
174
+ class Meter < HTMLElement
175
+ attributes(:float => [:high, :low, :max, :min, :optimum, :value], :list => [:labels])
176
+ end
177
+ class MeterCollection < ElementCollection
178
+ def element_class
179
+ Meter
180
+ end
181
+ end
182
+ class Progress < HTMLElement
183
+ attributes(:list => [:labels], :float => [:max, :position, :value])
184
+ end
185
+ class ProgressCollection < ElementCollection
186
+ def element_class
187
+ Progress
188
+ end
189
+ end
190
+ class Output < HTMLElement
191
+ attributes(:string => [:default_value, :name, :type, :validation_message, :validity, :value], :html_element => [:form], :token_list => [:html_for], :list => [:labels], :bool => [:will_validate])
192
+ end
193
+ class OutputCollection < ElementCollection
194
+ def element_class
195
+ Output
196
+ end
197
+ end
198
+ class Keygen < HTMLElement
199
+ attributes(:bool => [:autofocus, :disabled, :will_validate], :string => [:challenge, :keytype, :name, :type, :validation_message, :validity], :html_element => [:form], :list => [:labels])
200
+ end
201
+ class KeygenCollection < ElementCollection
202
+ def element_class
203
+ Keygen
204
+ end
205
+ end
206
+ class TextArea < HTMLElement
207
+ attributes(:string => [:autocomplete, :default_value, :dir_name, :input_mode, :name, :placeholder, :selection_direction, :type, :validation_message, :validity, :value, :wrap], :bool => [:autofocus, :disabled, :read_only, :required, :will_validate], :int => [:cols, :max_length, :rows, :selection_end, :selection_start, :text_length], :html_element => [:form], :list => [:labels])
208
+ end
209
+ class TextAreaCollection < ElementCollection
210
+ def element_class
211
+ TextArea
212
+ end
213
+ end
214
+ class Option < HTMLElement
215
+ attributes(:bool => [:default_selected, :disabled, :selected], :html_element => [:form], :int => [:index], :string => [:label, :text, :value])
216
+ end
217
+ class OptionCollection < ElementCollection
218
+ def element_class
219
+ Option
220
+ end
221
+ end
222
+ class OptGroup < HTMLElement
223
+ attributes(:bool => [:disabled], :string => [:label])
224
+ end
225
+ class OptGroupCollection < ElementCollection
226
+ def element_class
227
+ OptGroup
228
+ end
229
+ end
230
+ class DataList < HTMLElement
231
+ attributes(:html_collection => [:options])
232
+ end
233
+ class DataListCollection < ElementCollection
234
+ def element_class
235
+ DataList
236
+ end
237
+ end
238
+ class Select < HTMLElement
239
+ attributes(:bool => [:autofocus, :disabled, :multiple, :required, :will_validate], :html_element => [:form], :list => [:labels], :int => [:length, :selected_index, :size], :string => [:name, :type, :validation_message, :validity, :value], :html_collection => [:options, :selected_options])
240
+ end
241
+ class SelectCollection < ElementCollection
242
+ def element_class
243
+ Select
244
+ end
245
+ end
246
+ 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])
248
+ end
249
+ class ButtonCollection < ElementCollection
250
+ def element_class
251
+ Button
252
+ end
253
+ end
254
+ class Input < HTMLElement
255
+ attributes(:string => [:accept, :alt, :autocomplete, :default_value, :dir_name, :form_action, :form_enctype, :form_method, :form_target, :input_mode, :max, :min, :name, :pattern, :placeholder, :selection_direction, :src, :step, :type, :validation_message, :validity, :value], :bool => [:autofocus, :checked, :default_checked, :disabled, :form_no_validate, :indeterminate, :multiple, :read_only, :required, :will_validate], :list => [:files, :labels], :html_element => [:form, :list], :int => [:height, :max_length, :selection_end, :selection_start, :size, :width], :date => [:value_as_date], :float => [:value_as_number])
256
+ end
257
+ class InputCollection < ElementCollection
258
+ def element_class
259
+ Input
260
+ end
261
+ end
262
+ class Input < HTMLElement
263
+ attributes(:string => [:align, :use_map])
264
+ end
265
+ # do nothing
266
+ class Label < HTMLElement
267
+ attributes(:html_element => [:control, :form], :string => [:html_for])
268
+ end
269
+ class LabelCollection < ElementCollection
270
+ def element_class
271
+ Label
272
+ end
273
+ end
274
+ class Legend < HTMLElement
275
+ attributes(:html_element => [:form])
276
+ end
277
+ class LegendCollection < ElementCollection
278
+ def element_class
279
+ Legend
280
+ end
281
+ end
282
+ class Legend < HTMLElement
283
+ attributes(:string => [:align])
284
+ end
285
+ # do nothing
286
+ class FieldSet < HTMLElement
287
+ attributes(:bool => [:disabled, :will_validate], :html_collection => [:elements], :html_element => [:form], :string => [:name, :type, :validation_message, :validity])
288
+ end
289
+ class FieldSetCollection < ElementCollection
290
+ def element_class
291
+ FieldSet
292
+ end
293
+ end
294
+ class Form < HTMLElement
295
+ attributes(:string => [:accept_charset, :action, :autocomplete, :encoding, :enctype, :method, :name, :target], :html_collection => [:elements], :int => [:length], :bool => [:no_validate])
296
+ end
297
+ class FormCollection < ElementCollection
298
+ def element_class
299
+ Form
300
+ end
301
+ end
302
+ class TableCell < HTMLElement
303
+ attributes(:int => [:cell_index, :col_span, :row_span], :token_list => [:headers])
304
+ end
305
+ class TableCellCollection < ElementCollection
306
+ def element_class
307
+ TableCell
308
+ end
309
+ end
310
+ class TableCell < HTMLElement
311
+ attributes(:string => [:abbr, :align, :axis, :bg_color, :ch, :ch_off, :height, :v_align, :width], :bool => [:no_wrap])
312
+ end
313
+ # do nothing
314
+ class TableHeaderCell < TableCell
315
+ attributes(:string => [:abbr, :scope])
316
+ end
317
+ class TableHeaderCellCollection < ElementCollection
318
+ def element_class
319
+ TableHeaderCell
320
+ end
321
+ end
322
+ class TableDataCell < TableCell
323
+ # do nothing
324
+ end
325
+ class TableDataCellCollection < ElementCollection
326
+ def element_class
327
+ TableDataCell
328
+ end
329
+ end
330
+ class TableRow < HTMLElement
331
+ attributes(:html_collection => [:cells], :int => [:row_index, :section_row_index])
332
+ end
333
+ class TableRowCollection < ElementCollection
334
+ def element_class
335
+ TableRow
336
+ end
337
+ end
338
+ class TableRow < HTMLElement
339
+ attributes(:string => [:align, :bg_color, :ch, :ch_off, :v_align])
340
+ end
341
+ # do nothing
342
+ class TableSection < HTMLElement
343
+ attributes(:html_collection => [:rows])
344
+ end
345
+ class TableSectionCollection < ElementCollection
346
+ def element_class
347
+ TableSection
348
+ end
349
+ end
350
+ class TableSection < HTMLElement
351
+ attributes(:string => [:align, :ch, :ch_off, :v_align])
352
+ end
353
+ # do nothing
354
+ class TableCol < HTMLElement
355
+ attributes(:int => [:span])
356
+ end
357
+ class TableColCollection < ElementCollection
358
+ def element_class
359
+ TableCol
360
+ end
361
+ end
362
+ class TableCol < HTMLElement
363
+ attributes(:string => [:align, :ch, :ch_off, :v_align, :width])
364
+ end
365
+ # do nothing
366
+ class TableCaption < HTMLElement
367
+ # do nothing
368
+ end
369
+ class TableCaptionCollection < ElementCollection
370
+ def element_class
371
+ TableCaption
372
+ end
373
+ end
374
+ class TableCaption < HTMLElement
375
+ attributes(:string => [:align])
376
+ end
377
+ # do nothing
378
+ class Table < HTMLElement
379
+ attributes(:html_element => [:caption, :t_foot, :t_head], :html_collection => [:rows, :t_bodies])
380
+ end
381
+ class TableCollection < ElementCollection
382
+ def element_class
383
+ Table
384
+ end
385
+ end
386
+ class Table < HTMLElement
387
+ attributes(:string => [:align, :bg_color, :border, :cell_padding, :cell_spacing, :frame, :rules, :summary, :width])
388
+ end
389
+ # do nothing
390
+ class Area < HTMLElement
391
+ attributes(:string => [:alt, :coords, :download, :hash, :host, :hostname, :href, :hreflang, :media, :pathname, :ping, :port, :protocol, :rel, :search, :shape, :target, :type], :token_list => [:rel_list])
392
+ end
393
+ class AreaCollection < ElementCollection
394
+ def element_class
395
+ Area
396
+ end
397
+ end
398
+ class Area < HTMLElement
399
+ attributes(:bool => [:no_href])
400
+ end
401
+ # do nothing
402
+ class Map < HTMLElement
403
+ attributes(:html_collection => [:areas, :images], :string => [:name])
404
+ end
405
+ class MapCollection < ElementCollection
406
+ def element_class
407
+ Map
408
+ end
409
+ end
410
+ class Canvas < HTMLElement
411
+ attributes(:int => [:height, :width])
412
+ end
413
+ class CanvasCollection < ElementCollection
414
+ def element_class
415
+ Canvas
416
+ end
417
+ end
418
+ 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], :date => [:start_date])
420
+ end
421
+ class MediaCollection < ElementCollection
422
+ def element_class
423
+ Media
424
+ end
425
+ end
426
+ class Audio < Media
427
+ # do nothing
428
+ end
429
+ class AudioCollection < ElementCollection
430
+ def element_class
431
+ Audio
432
+ end
433
+ end
434
+ class Video < Media
435
+ attributes(:int => [:height, :video_height, :video_width, :width], :string => [:poster])
436
+ end
437
+ class VideoCollection < ElementCollection
438
+ def element_class
439
+ Video
440
+ end
441
+ end
442
+ class Track < HTMLElement
443
+ attributes(:bool => [:default], :string => [:kind, :label, :src, :srclang, :track], :int => [:ready_state])
444
+ end
445
+ class TrackCollection < ElementCollection
446
+ def element_class
447
+ Track
448
+ end
449
+ end
450
+ class Source < HTMLElement
451
+ attributes(:string => [:media, :src, :type])
452
+ end
453
+ class SourceCollection < ElementCollection
454
+ def element_class
455
+ Source
456
+ end
457
+ end
458
+ class Param < HTMLElement
459
+ attributes(:string => [:name, :value])
460
+ end
461
+ class ParamCollection < ElementCollection
462
+ def element_class
463
+ Param
464
+ end
465
+ end
466
+ class Param < HTMLElement
467
+ attributes(:string => [:type, :value_type])
468
+ end
469
+ # do nothing
470
+ class Object < HTMLElement
471
+ attributes(:document => [:content_document], :string => [:content_window, :data, :height, :name, :type, :use_map, :validation_message, :validity, :width], :html_element => [:form], :bool => [:type_must_match, :will_validate])
472
+ end
473
+ class ObjectCollection < ElementCollection
474
+ def element_class
475
+ Object
476
+ end
477
+ end
478
+ class Object < HTMLElement
479
+ attributes(:string => [:align, :archive, :border, :code, :code_base, :code_type, :standby], :bool => [:declare], :int => [:hspace, :vspace])
480
+ end
481
+ # do nothing
482
+ class Embed < HTMLElement
483
+ attributes(:string => [:height, :src, :type, :width])
484
+ end
485
+ class EmbedCollection < ElementCollection
486
+ def element_class
487
+ Embed
488
+ end
489
+ end
490
+ class Embed < HTMLElement
491
+ attributes(:string => [:align, :name])
492
+ end
493
+ # do nothing
494
+ class IFrame < HTMLElement
495
+ attributes(:document => [:content_document], :string => [:content_window, :height, :name, :src, :srcdoc, :width], :token_list => [:sandbox], :bool => [:seamless])
496
+ end
497
+ class IFrameCollection < ElementCollection
498
+ def element_class
499
+ IFrame
500
+ end
501
+ end
502
+ class IFrame < HTMLElement
503
+ attributes(:string => [:align, :frame_border, :long_desc, :margin_height, :margin_width, :scrolling])
504
+ end
505
+ # do nothing
506
+ class Image < HTMLElement
507
+ attributes(:string => [:alt, :cross_origin, :src, :srcset, :use_map], :bool => [:complete, :map], :int => [:height, :natural_height, :natural_width, :width])
508
+ end
509
+ class ImageCollection < ElementCollection
510
+ def element_class
511
+ Image
512
+ end
513
+ end
514
+ class Image < HTMLElement
515
+ attributes(:string => [:align, :border, :long_desc, :name], :int => [:hspace, :vspace])
516
+ end
517
+ # do nothing
518
+ class Mod < HTMLElement
519
+ attributes(:string => [:cite, :date_time])
520
+ end
521
+ class ModCollection < ElementCollection
522
+ def element_class
523
+ Mod
524
+ end
525
+ end
526
+ class BR < HTMLElement
527
+ # do nothing
528
+ end
529
+ class BRCollection < ElementCollection
530
+ def element_class
531
+ BR
532
+ end
533
+ end
534
+ class BR < HTMLElement
535
+ attributes(:string => [:clear])
536
+ end
537
+ # do nothing
538
+ class Span < HTMLElement
539
+ # do nothing
540
+ end
541
+ class SpanCollection < ElementCollection
542
+ def element_class
543
+ Span
544
+ end
545
+ end
546
+ class Time < HTMLElement
547
+ attributes(:string => [:datetime])
548
+ end
549
+ class TimeCollection < ElementCollection
550
+ def element_class
551
+ Time
552
+ end
553
+ end
554
+ class Data < HTMLElement
555
+ attributes(:string => [:value])
556
+ end
557
+ class DataCollection < ElementCollection
558
+ def element_class
559
+ Data
560
+ end
561
+ end
562
+ class Anchor < HTMLElement
563
+ attributes(:string => [:download, :hash, :host, :hostname, :href, :hreflang, :media, :pathname, :ping, :port, :protocol, :rel, :search, :target, :text, :type], :token_list => [:rel_list])
564
+ end
565
+ class AnchorCollection < ElementCollection
566
+ def element_class
567
+ Anchor
568
+ end
569
+ end
570
+ class Anchor < HTMLElement
571
+ attributes(:string => [:charset, :coords, :name, :rev, :shape])
572
+ end
573
+ # do nothing
574
+ class Div < HTMLElement
575
+ # do nothing
576
+ end
577
+ class DivCollection < ElementCollection
578
+ def element_class
579
+ Div
580
+ end
581
+ end
582
+ class Div < HTMLElement
583
+ attributes(:string => [:align])
584
+ end
585
+ # do nothing
586
+ class DList < HTMLElement
587
+ # do nothing
588
+ end
589
+ class DListCollection < ElementCollection
590
+ def element_class
591
+ DList
592
+ end
593
+ end
594
+ class DList < HTMLElement
595
+ attributes(:bool => [:compact])
596
+ end
597
+ # do nothing
598
+ class LI < HTMLElement
599
+ attributes(:int => [:value])
600
+ end
601
+ class LICollection < ElementCollection
602
+ def element_class
603
+ LI
604
+ end
605
+ end
606
+ class LI < HTMLElement
607
+ attributes(:string => [:type])
608
+ end
609
+ # do nothing
610
+ class UList < HTMLElement
611
+ # do nothing
612
+ end
613
+ class UListCollection < ElementCollection
614
+ def element_class
615
+ UList
616
+ end
617
+ end
618
+ class UList < HTMLElement
619
+ attributes(:bool => [:compact], :string => [:type])
620
+ end
621
+ # do nothing
622
+ class OList < HTMLElement
623
+ attributes(:bool => [:reversed], :int => [:start], :string => [:type])
624
+ end
625
+ class OListCollection < ElementCollection
626
+ def element_class
627
+ OList
628
+ end
629
+ end
630
+ class OList < HTMLElement
631
+ attributes(:bool => [:compact])
632
+ end
633
+ # do nothing
634
+ class Quote < HTMLElement
635
+ attributes(:string => [:cite])
636
+ end
637
+ class QuoteCollection < ElementCollection
638
+ def element_class
639
+ Quote
640
+ end
641
+ end
642
+ class Pre < HTMLElement
643
+ # do nothing
644
+ end
645
+ class PreCollection < ElementCollection
646
+ def element_class
647
+ Pre
648
+ end
649
+ end
650
+ class Pre < HTMLElement
651
+ attributes(:int => [:width])
652
+ end
653
+ # do nothing
654
+ class HR < HTMLElement
655
+ # do nothing
656
+ end
657
+ class HRCollection < ElementCollection
658
+ def element_class
659
+ HR
660
+ end
661
+ end
662
+ class HR < HTMLElement
663
+ attributes(:string => [:align, :color, :size, :width], :bool => [:no_shade])
664
+ end
665
+ # do nothing
666
+ class Paragraph < HTMLElement
667
+ # do nothing
668
+ end
669
+ class ParagraphCollection < ElementCollection
670
+ def element_class
671
+ Paragraph
672
+ end
673
+ end
674
+ class Paragraph < HTMLElement
675
+ attributes(:string => [:align])
676
+ end
677
+ # do nothing
678
+ class Heading < HTMLElement
679
+ # do nothing
680
+ end
681
+ class HeadingCollection < ElementCollection
682
+ def element_class
683
+ Heading
684
+ end
685
+ end
686
+ class Heading < HTMLElement
687
+ attributes(:string => [:align])
688
+ end
689
+ # do nothing
690
+ class Body < HTMLElement
691
+ attributes(:function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onresize, :onscroll, :onstorage, :onunload])
692
+ end
693
+ class BodyCollection < ElementCollection
694
+ def element_class
695
+ Body
696
+ end
697
+ end
698
+ class Body < HTMLElement
699
+ attributes(:string => [:a_link, :background, :bg_color, :link, :text, :v_link])
700
+ end
701
+ # do nothing
702
+ class Script < HTMLElement
703
+ attributes(:bool => [:async, :defer], :string => [:charset, :src, :text, :type])
704
+ end
705
+ class ScriptCollection < ElementCollection
706
+ def element_class
707
+ Script
708
+ end
709
+ end
710
+ class Script < HTMLElement
711
+ attributes(:string => [:event, :html_for])
712
+ end
713
+ # do nothing
714
+ class Style < HTMLElement
715
+ attributes(:bool => [:disabled, :scoped], :string => [:media, :type])
716
+ end
717
+ class StyleCollection < ElementCollection
718
+ def element_class
719
+ Style
720
+ end
721
+ end
722
+ class Meta < HTMLElement
723
+ attributes(:string => [:content, :http_equiv, :name])
724
+ end
725
+ class MetaCollection < ElementCollection
726
+ def element_class
727
+ Meta
728
+ end
729
+ end
730
+ class Meta < HTMLElement
731
+ attributes(:string => [:scheme])
732
+ end
733
+ # do nothing
734
+ class Base < HTMLElement
735
+ attributes(:string => [:href, :target])
736
+ end
737
+ class BaseCollection < ElementCollection
738
+ def element_class
739
+ Base
740
+ end
741
+ end
742
+ class Title < HTMLElement
743
+ attributes(:string => [:text])
744
+ end
745
+ class TitleCollection < ElementCollection
746
+ def element_class
747
+ Title
748
+ end
749
+ end
750
+ class Head < HTMLElement
751
+ # do nothing
752
+ end
753
+ class HeadCollection < ElementCollection
754
+ def element_class
755
+ Head
756
+ end
757
+ end
758
+ class Html < HTMLElement
759
+ # do nothing
760
+ end
761
+ class HtmlCollection < ElementCollection
762
+ def element_class
763
+ Html
764
+ end
765
+ end
766
+ class Html < HTMLElement
767
+ attributes(:string => [:version])
768
+ end
769
+ # do nothing
770
+ class Unknown < HTMLElement
771
+ # do nothing
772
+ end
773
+ class UnknownCollection < ElementCollection
774
+ def element_class
775
+ Unknown
776
+ end
777
+ end
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+ module Container
791
+ #
792
+ # @return [Anchor]
793
+ #
794
+
795
+ def a(*args)
796
+ Anchor.new(self, extract_selector(args).merge(:tag_name => "a"))
797
+ end
798
+
799
+ #
800
+ # @return [AnchorCollection]
801
+ #
802
+
803
+ def as(*args)
804
+ AnchorCollection.new(self, extract_selector(args).merge(:tag_name => "a"))
805
+ end
806
+
807
+ WatirNokogiri.tag_to_class[:a] = Anchor
808
+ #
809
+ # @return [HTMLElement]
810
+ #
811
+
812
+ def abbr(*args)
813
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "abbr"))
814
+ end
815
+
816
+ #
817
+ # @return [HTMLElementCollection]
818
+ #
819
+
820
+ def abbrs(*args)
821
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "abbr"))
822
+ end
823
+
824
+ WatirNokogiri.tag_to_class[:abbr] = HTMLElement
825
+ #
826
+ # @return [HTMLElement]
827
+ #
828
+
829
+ def address(*args)
830
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "address"))
831
+ end
832
+
833
+ #
834
+ # @return [HTMLElementCollection]
835
+ #
836
+
837
+ def addresses(*args)
838
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "address"))
839
+ end
840
+
841
+ WatirNokogiri.tag_to_class[:address] = HTMLElement
842
+ #
843
+ # @return [Area]
844
+ #
845
+
846
+ def area(*args)
847
+ Area.new(self, extract_selector(args).merge(:tag_name => "area"))
848
+ end
849
+
850
+ #
851
+ # @return [AreaCollection]
852
+ #
853
+
854
+ def areas(*args)
855
+ AreaCollection.new(self, extract_selector(args).merge(:tag_name => "area"))
856
+ end
857
+
858
+ WatirNokogiri.tag_to_class[:area] = Area
859
+ #
860
+ # @return [HTMLElement]
861
+ #
862
+
863
+ def article(*args)
864
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "article"))
865
+ end
866
+
867
+ #
868
+ # @return [HTMLElementCollection]
869
+ #
870
+
871
+ def articles(*args)
872
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "article"))
873
+ end
874
+
875
+ WatirNokogiri.tag_to_class[:article] = HTMLElement
876
+ #
877
+ # @return [HTMLElement]
878
+ #
879
+
880
+ def aside(*args)
881
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "aside"))
882
+ end
883
+
884
+ #
885
+ # @return [HTMLElementCollection]
886
+ #
887
+
888
+ def asides(*args)
889
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "aside"))
890
+ end
891
+
892
+ WatirNokogiri.tag_to_class[:aside] = HTMLElement
893
+ #
894
+ # @return [Audio]
895
+ #
896
+
897
+ def audio(*args)
898
+ Audio.new(self, extract_selector(args).merge(:tag_name => "audio"))
899
+ end
900
+
901
+ #
902
+ # @return [AudioCollection]
903
+ #
904
+
905
+ def audios(*args)
906
+ AudioCollection.new(self, extract_selector(args).merge(:tag_name => "audio"))
907
+ end
908
+
909
+ WatirNokogiri.tag_to_class[:audio] = Audio
910
+ #
911
+ # @return [HTMLElement]
912
+ #
913
+
914
+ def b(*args)
915
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "b"))
916
+ end
917
+
918
+ #
919
+ # @return [HTMLElementCollection]
920
+ #
921
+
922
+ def bs(*args)
923
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "b"))
924
+ end
925
+
926
+ WatirNokogiri.tag_to_class[:b] = HTMLElement
927
+ #
928
+ # @return [Base]
929
+ #
930
+
931
+ def base(*args)
932
+ Base.new(self, extract_selector(args).merge(:tag_name => "base"))
933
+ end
934
+
935
+ #
936
+ # @return [BaseCollection]
937
+ #
938
+
939
+ def bases(*args)
940
+ BaseCollection.new(self, extract_selector(args).merge(:tag_name => "base"))
941
+ end
942
+
943
+ WatirNokogiri.tag_to_class[:base] = Base
944
+ #
945
+ # @return [HTMLElement]
946
+ #
947
+
948
+ def bdi(*args)
949
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "bdi"))
950
+ end
951
+
952
+ #
953
+ # @return [HTMLElementCollection]
954
+ #
955
+
956
+ def bdis(*args)
957
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "bdi"))
958
+ end
959
+
960
+ WatirNokogiri.tag_to_class[:bdi] = HTMLElement
961
+ #
962
+ # @return [HTMLElement]
963
+ #
964
+
965
+ def bdo(*args)
966
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "bdo"))
967
+ end
968
+
969
+ #
970
+ # @return [HTMLElementCollection]
971
+ #
972
+
973
+ def bdos(*args)
974
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "bdo"))
975
+ end
976
+
977
+ WatirNokogiri.tag_to_class[:bdo] = HTMLElement
978
+ #
979
+ # @return [Quote]
980
+ #
981
+
982
+ def blockquote(*args)
983
+ Quote.new(self, extract_selector(args).merge(:tag_name => "blockquote"))
984
+ end
985
+
986
+ #
987
+ # @return [QuoteCollection]
988
+ #
989
+
990
+ def blockquotes(*args)
991
+ QuoteCollection.new(self, extract_selector(args).merge(:tag_name => "blockquote"))
992
+ end
993
+
994
+ WatirNokogiri.tag_to_class[:blockquote] = Quote
995
+ #
996
+ # @return [Body]
997
+ #
998
+
999
+ def body(*args)
1000
+ Body.new(self, extract_selector(args).merge(:tag_name => "body"))
1001
+ end
1002
+
1003
+ #
1004
+ # @return [BodyCollection]
1005
+ #
1006
+
1007
+ def bodys(*args)
1008
+ BodyCollection.new(self, extract_selector(args).merge(:tag_name => "body"))
1009
+ end
1010
+
1011
+ WatirNokogiri.tag_to_class[:body] = Body
1012
+ #
1013
+ # @return [BR]
1014
+ #
1015
+
1016
+ def br(*args)
1017
+ BR.new(self, extract_selector(args).merge(:tag_name => "br"))
1018
+ end
1019
+
1020
+ #
1021
+ # @return [BRCollection]
1022
+ #
1023
+
1024
+ def brs(*args)
1025
+ BRCollection.new(self, extract_selector(args).merge(:tag_name => "br"))
1026
+ end
1027
+
1028
+ WatirNokogiri.tag_to_class[:br] = BR
1029
+ #
1030
+ # @return [Button]
1031
+ #
1032
+
1033
+ def button(*args)
1034
+ Button.new(self, extract_selector(args).merge(:tag_name => "button"))
1035
+ end
1036
+
1037
+ #
1038
+ # @return [ButtonCollection]
1039
+ #
1040
+
1041
+ def buttons(*args)
1042
+ ButtonCollection.new(self, extract_selector(args).merge(:tag_name => "button"))
1043
+ end
1044
+
1045
+ WatirNokogiri.tag_to_class[:button] = Button
1046
+ #
1047
+ # @return [Canvas]
1048
+ #
1049
+
1050
+ def canvas(*args)
1051
+ Canvas.new(self, extract_selector(args).merge(:tag_name => "canvas"))
1052
+ end
1053
+
1054
+ #
1055
+ # @return [CanvasCollection]
1056
+ #
1057
+
1058
+ def canvases(*args)
1059
+ CanvasCollection.new(self, extract_selector(args).merge(:tag_name => "canvas"))
1060
+ end
1061
+
1062
+ WatirNokogiri.tag_to_class[:canvas] = Canvas
1063
+ #
1064
+ # @return [TableCaption]
1065
+ #
1066
+
1067
+ def caption(*args)
1068
+ TableCaption.new(self, extract_selector(args).merge(:tag_name => "caption"))
1069
+ end
1070
+
1071
+ #
1072
+ # @return [TableCaptionCollection]
1073
+ #
1074
+
1075
+ def captions(*args)
1076
+ TableCaptionCollection.new(self, extract_selector(args).merge(:tag_name => "caption"))
1077
+ end
1078
+
1079
+ WatirNokogiri.tag_to_class[:caption] = TableCaption
1080
+ #
1081
+ # @return [HTMLElement]
1082
+ #
1083
+
1084
+ def cite(*args)
1085
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "cite"))
1086
+ end
1087
+
1088
+ #
1089
+ # @return [HTMLElementCollection]
1090
+ #
1091
+
1092
+ def cites(*args)
1093
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "cite"))
1094
+ end
1095
+
1096
+ WatirNokogiri.tag_to_class[:cite] = HTMLElement
1097
+ #
1098
+ # @return [HTMLElement]
1099
+ #
1100
+
1101
+ def code(*args)
1102
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "code"))
1103
+ end
1104
+
1105
+ #
1106
+ # @return [HTMLElementCollection]
1107
+ #
1108
+
1109
+ def codes(*args)
1110
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "code"))
1111
+ end
1112
+
1113
+ WatirNokogiri.tag_to_class[:code] = HTMLElement
1114
+ #
1115
+ # @return [TableCol]
1116
+ #
1117
+
1118
+ def col(*args)
1119
+ TableCol.new(self, extract_selector(args).merge(:tag_name => "col"))
1120
+ end
1121
+
1122
+ #
1123
+ # @return [TableColCollection]
1124
+ #
1125
+
1126
+ def cols(*args)
1127
+ TableColCollection.new(self, extract_selector(args).merge(:tag_name => "col"))
1128
+ end
1129
+
1130
+ WatirNokogiri.tag_to_class[:col] = TableCol
1131
+ #
1132
+ # @return [TableCol]
1133
+ #
1134
+
1135
+ def colgroup(*args)
1136
+ TableCol.new(self, extract_selector(args).merge(:tag_name => "colgroup"))
1137
+ end
1138
+
1139
+ #
1140
+ # @return [TableColCollection]
1141
+ #
1142
+
1143
+ def colgroups(*args)
1144
+ TableColCollection.new(self, extract_selector(args).merge(:tag_name => "colgroup"))
1145
+ end
1146
+
1147
+ WatirNokogiri.tag_to_class[:colgroup] = TableCol
1148
+ #
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
+ WatirNokogiri.tag_to_class[:command] = Command
1165
+ #
1166
+ # @return [Data]
1167
+ #
1168
+
1169
+ def data(*args)
1170
+ Data.new(self, extract_selector(args).merge(:tag_name => "data"))
1171
+ end
1172
+
1173
+ #
1174
+ # @return [DataCollection]
1175
+ #
1176
+
1177
+ def datas(*args)
1178
+ DataCollection.new(self, extract_selector(args).merge(:tag_name => "data"))
1179
+ end
1180
+
1181
+ WatirNokogiri.tag_to_class[:data] = Data
1182
+ #
1183
+ # @return [DataList]
1184
+ #
1185
+
1186
+ def datalist(*args)
1187
+ DataList.new(self, extract_selector(args).merge(:tag_name => "datalist"))
1188
+ end
1189
+
1190
+ #
1191
+ # @return [DataListCollection]
1192
+ #
1193
+
1194
+ def datalists(*args)
1195
+ DataListCollection.new(self, extract_selector(args).merge(:tag_name => "datalist"))
1196
+ end
1197
+
1198
+ WatirNokogiri.tag_to_class[:datalist] = DataList
1199
+ #
1200
+ # @return [HTMLElement]
1201
+ #
1202
+
1203
+ def dd(*args)
1204
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dd"))
1205
+ end
1206
+
1207
+ #
1208
+ # @return [HTMLElementCollection]
1209
+ #
1210
+
1211
+ def dds(*args)
1212
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dd"))
1213
+ end
1214
+
1215
+ WatirNokogiri.tag_to_class[:dd] = HTMLElement
1216
+ #
1217
+ # @return [Mod]
1218
+ #
1219
+
1220
+ def del(*args)
1221
+ Mod.new(self, extract_selector(args).merge(:tag_name => "del"))
1222
+ end
1223
+
1224
+ #
1225
+ # @return [ModCollection]
1226
+ #
1227
+
1228
+ def dels(*args)
1229
+ ModCollection.new(self, extract_selector(args).merge(:tag_name => "del"))
1230
+ end
1231
+
1232
+ WatirNokogiri.tag_to_class[:del] = Mod
1233
+ #
1234
+ # @return [Details]
1235
+ #
1236
+
1237
+ def details(*args)
1238
+ Details.new(self, extract_selector(args).merge(:tag_name => "details"))
1239
+ end
1240
+
1241
+ #
1242
+ # @return [DetailsCollection]
1243
+ #
1244
+
1245
+ def detailses(*args)
1246
+ DetailsCollection.new(self, extract_selector(args).merge(:tag_name => "details"))
1247
+ end
1248
+
1249
+ WatirNokogiri.tag_to_class[:details] = Details
1250
+ #
1251
+ # @return [HTMLElement]
1252
+ #
1253
+
1254
+ def dfn(*args)
1255
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dfn"))
1256
+ end
1257
+
1258
+ #
1259
+ # @return [HTMLElementCollection]
1260
+ #
1261
+
1262
+ def dfns(*args)
1263
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dfn"))
1264
+ end
1265
+
1266
+ WatirNokogiri.tag_to_class[:dfn] = HTMLElement
1267
+ #
1268
+ # @return [Dialog]
1269
+ #
1270
+
1271
+ def dialog(*args)
1272
+ Dialog.new(self, extract_selector(args).merge(:tag_name => "dialog"))
1273
+ end
1274
+
1275
+ #
1276
+ # @return [DialogCollection]
1277
+ #
1278
+
1279
+ def dialogs(*args)
1280
+ DialogCollection.new(self, extract_selector(args).merge(:tag_name => "dialog"))
1281
+ end
1282
+
1283
+ WatirNokogiri.tag_to_class[:dialog] = Dialog
1284
+ #
1285
+ # @return [Div]
1286
+ #
1287
+
1288
+ def div(*args)
1289
+ Div.new(self, extract_selector(args).merge(:tag_name => "div"))
1290
+ end
1291
+
1292
+ #
1293
+ # @return [DivCollection]
1294
+ #
1295
+
1296
+ def divs(*args)
1297
+ DivCollection.new(self, extract_selector(args).merge(:tag_name => "div"))
1298
+ end
1299
+
1300
+ WatirNokogiri.tag_to_class[:div] = Div
1301
+ #
1302
+ # @return [DList]
1303
+ #
1304
+
1305
+ def dl(*args)
1306
+ DList.new(self, extract_selector(args).merge(:tag_name => "dl"))
1307
+ end
1308
+
1309
+ #
1310
+ # @return [DListCollection]
1311
+ #
1312
+
1313
+ def dls(*args)
1314
+ DListCollection.new(self, extract_selector(args).merge(:tag_name => "dl"))
1315
+ end
1316
+
1317
+ WatirNokogiri.tag_to_class[:dl] = DList
1318
+ #
1319
+ # @return [HTMLElement]
1320
+ #
1321
+
1322
+ def dt(*args)
1323
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dt"))
1324
+ end
1325
+
1326
+ #
1327
+ # @return [HTMLElementCollection]
1328
+ #
1329
+
1330
+ def dts(*args)
1331
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dt"))
1332
+ end
1333
+
1334
+ WatirNokogiri.tag_to_class[:dt] = HTMLElement
1335
+ #
1336
+ # @return [HTMLElement]
1337
+ #
1338
+
1339
+ def em(*args)
1340
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "em"))
1341
+ end
1342
+
1343
+ #
1344
+ # @return [HTMLElementCollection]
1345
+ #
1346
+
1347
+ def ems(*args)
1348
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "em"))
1349
+ end
1350
+
1351
+ WatirNokogiri.tag_to_class[:em] = HTMLElement
1352
+ #
1353
+ # @return [Embed]
1354
+ #
1355
+
1356
+ def embed(*args)
1357
+ Embed.new(self, extract_selector(args).merge(:tag_name => "embed"))
1358
+ end
1359
+
1360
+ #
1361
+ # @return [EmbedCollection]
1362
+ #
1363
+
1364
+ def embeds(*args)
1365
+ EmbedCollection.new(self, extract_selector(args).merge(:tag_name => "embed"))
1366
+ end
1367
+
1368
+ WatirNokogiri.tag_to_class[:embed] = Embed
1369
+ #
1370
+ # @return [FieldSet]
1371
+ #
1372
+
1373
+ def fieldset(*args)
1374
+ FieldSet.new(self, extract_selector(args).merge(:tag_name => "fieldset"))
1375
+ end
1376
+
1377
+ #
1378
+ # @return [FieldSetCollection]
1379
+ #
1380
+
1381
+ def fieldsets(*args)
1382
+ FieldSetCollection.new(self, extract_selector(args).merge(:tag_name => "fieldset"))
1383
+ end
1384
+
1385
+ WatirNokogiri.tag_to_class[:fieldset] = FieldSet
1386
+ #
1387
+ # @return [HTMLElement]
1388
+ #
1389
+
1390
+ def figcaption(*args)
1391
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "figcaption"))
1392
+ end
1393
+
1394
+ #
1395
+ # @return [HTMLElementCollection]
1396
+ #
1397
+
1398
+ def figcaptions(*args)
1399
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "figcaption"))
1400
+ end
1401
+
1402
+ WatirNokogiri.tag_to_class[:figcaption] = HTMLElement
1403
+ #
1404
+ # @return [HTMLElement]
1405
+ #
1406
+
1407
+ def figure(*args)
1408
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "figure"))
1409
+ end
1410
+
1411
+ #
1412
+ # @return [HTMLElementCollection]
1413
+ #
1414
+
1415
+ def figures(*args)
1416
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "figure"))
1417
+ end
1418
+
1419
+ WatirNokogiri.tag_to_class[:figure] = HTMLElement
1420
+ #
1421
+ # @return [HTMLElement]
1422
+ #
1423
+
1424
+ def footer(*args)
1425
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "footer"))
1426
+ end
1427
+
1428
+ #
1429
+ # @return [HTMLElementCollection]
1430
+ #
1431
+
1432
+ def footers(*args)
1433
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "footer"))
1434
+ end
1435
+
1436
+ WatirNokogiri.tag_to_class[:footer] = HTMLElement
1437
+ #
1438
+ # @return [Form]
1439
+ #
1440
+
1441
+ def form(*args)
1442
+ Form.new(self, extract_selector(args).merge(:tag_name => "form"))
1443
+ end
1444
+
1445
+ #
1446
+ # @return [FormCollection]
1447
+ #
1448
+
1449
+ def forms(*args)
1450
+ FormCollection.new(self, extract_selector(args).merge(:tag_name => "form"))
1451
+ end
1452
+
1453
+ WatirNokogiri.tag_to_class[:form] = Form
1454
+ #
1455
+ # @return [FrameSet]
1456
+ #
1457
+
1458
+ def frameset(*args)
1459
+ FrameSet.new(self, extract_selector(args).merge(:tag_name => "frameset"))
1460
+ end
1461
+
1462
+ #
1463
+ # @return [FrameSetCollection]
1464
+ #
1465
+
1466
+ def framesets(*args)
1467
+ FrameSetCollection.new(self, extract_selector(args).merge(:tag_name => "frameset"))
1468
+ end
1469
+
1470
+ WatirNokogiri.tag_to_class[:frameset] = FrameSet
1471
+ #
1472
+ # @return [Heading]
1473
+ #
1474
+
1475
+ def h1(*args)
1476
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h1"))
1477
+ end
1478
+
1479
+ #
1480
+ # @return [HeadingCollection]
1481
+ #
1482
+
1483
+ def h1s(*args)
1484
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h1"))
1485
+ end
1486
+
1487
+ WatirNokogiri.tag_to_class[:h1] = Heading
1488
+ #
1489
+ # @return [Heading]
1490
+ #
1491
+
1492
+ def h2(*args)
1493
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h2"))
1494
+ end
1495
+
1496
+ #
1497
+ # @return [HeadingCollection]
1498
+ #
1499
+
1500
+ def h2s(*args)
1501
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h2"))
1502
+ end
1503
+
1504
+ WatirNokogiri.tag_to_class[:h2] = Heading
1505
+ #
1506
+ # @return [Heading]
1507
+ #
1508
+
1509
+ def h3(*args)
1510
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h3"))
1511
+ end
1512
+
1513
+ #
1514
+ # @return [HeadingCollection]
1515
+ #
1516
+
1517
+ def h3s(*args)
1518
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h3"))
1519
+ end
1520
+
1521
+ WatirNokogiri.tag_to_class[:h3] = Heading
1522
+ #
1523
+ # @return [Heading]
1524
+ #
1525
+
1526
+ def h4(*args)
1527
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h4"))
1528
+ end
1529
+
1530
+ #
1531
+ # @return [HeadingCollection]
1532
+ #
1533
+
1534
+ def h4s(*args)
1535
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h4"))
1536
+ end
1537
+
1538
+ WatirNokogiri.tag_to_class[:h4] = Heading
1539
+ #
1540
+ # @return [Heading]
1541
+ #
1542
+
1543
+ def h5(*args)
1544
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h5"))
1545
+ end
1546
+
1547
+ #
1548
+ # @return [HeadingCollection]
1549
+ #
1550
+
1551
+ def h5s(*args)
1552
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h5"))
1553
+ end
1554
+
1555
+ WatirNokogiri.tag_to_class[:h5] = Heading
1556
+ #
1557
+ # @return [Heading]
1558
+ #
1559
+
1560
+ def h6(*args)
1561
+ Heading.new(self, extract_selector(args).merge(:tag_name => "h6"))
1562
+ end
1563
+
1564
+ #
1565
+ # @return [HeadingCollection]
1566
+ #
1567
+
1568
+ def h6s(*args)
1569
+ HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h6"))
1570
+ end
1571
+
1572
+ WatirNokogiri.tag_to_class[:h6] = Heading
1573
+ #
1574
+ # @return [Head]
1575
+ #
1576
+
1577
+ def head(*args)
1578
+ Head.new(self, extract_selector(args).merge(:tag_name => "head"))
1579
+ end
1580
+
1581
+ #
1582
+ # @return [HeadCollection]
1583
+ #
1584
+
1585
+ def heads(*args)
1586
+ HeadCollection.new(self, extract_selector(args).merge(:tag_name => "head"))
1587
+ end
1588
+
1589
+ WatirNokogiri.tag_to_class[:head] = Head
1590
+ #
1591
+ # @return [HTMLElement]
1592
+ #
1593
+
1594
+ def header(*args)
1595
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "header"))
1596
+ end
1597
+
1598
+ #
1599
+ # @return [HTMLElementCollection]
1600
+ #
1601
+
1602
+ def headers(*args)
1603
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "header"))
1604
+ end
1605
+
1606
+ WatirNokogiri.tag_to_class[:header] = HTMLElement
1607
+ #
1608
+ # @return [HTMLElement]
1609
+ #
1610
+
1611
+ def hgroup(*args)
1612
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "hgroup"))
1613
+ end
1614
+
1615
+ #
1616
+ # @return [HTMLElementCollection]
1617
+ #
1618
+
1619
+ def hgroups(*args)
1620
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "hgroup"))
1621
+ end
1622
+
1623
+ WatirNokogiri.tag_to_class[:hgroup] = HTMLElement
1624
+ #
1625
+ # @return [HR]
1626
+ #
1627
+
1628
+ def hr(*args)
1629
+ HR.new(self, extract_selector(args).merge(:tag_name => "hr"))
1630
+ end
1631
+
1632
+ #
1633
+ # @return [HRCollection]
1634
+ #
1635
+
1636
+ def hrs(*args)
1637
+ HRCollection.new(self, extract_selector(args).merge(:tag_name => "hr"))
1638
+ end
1639
+
1640
+ WatirNokogiri.tag_to_class[:hr] = HR
1641
+ #
1642
+ # @return [Html]
1643
+ #
1644
+
1645
+ def html(*args)
1646
+ Html.new(self, extract_selector(args).merge(:tag_name => "html"))
1647
+ end
1648
+
1649
+ #
1650
+ # @return [HtmlCollection]
1651
+ #
1652
+
1653
+ def htmls(*args)
1654
+ HtmlCollection.new(self, extract_selector(args).merge(:tag_name => "html"))
1655
+ end
1656
+
1657
+ WatirNokogiri.tag_to_class[:html] = Html
1658
+ #
1659
+ # @return [HTMLElement]
1660
+ #
1661
+
1662
+ def i(*args)
1663
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "i"))
1664
+ end
1665
+
1666
+ #
1667
+ # @return [HTMLElementCollection]
1668
+ #
1669
+
1670
+ def is(*args)
1671
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "i"))
1672
+ end
1673
+
1674
+ WatirNokogiri.tag_to_class[:i] = HTMLElement
1675
+ #
1676
+ # @return [IFrame]
1677
+ #
1678
+
1679
+ def iframe(*args)
1680
+ IFrame.new(self, extract_selector(args).merge(:tag_name => "iframe"))
1681
+ end
1682
+
1683
+ #
1684
+ # @return [IFrameCollection]
1685
+ #
1686
+
1687
+ def iframes(*args)
1688
+ IFrameCollection.new(self, extract_selector(args).merge(:tag_name => "iframe"))
1689
+ end
1690
+
1691
+ WatirNokogiri.tag_to_class[:iframe] = IFrame
1692
+ #
1693
+ # @return [Image]
1694
+ #
1695
+
1696
+ def img(*args)
1697
+ Image.new(self, extract_selector(args).merge(:tag_name => "img"))
1698
+ end
1699
+
1700
+ #
1701
+ # @return [ImageCollection]
1702
+ #
1703
+
1704
+ def imgs(*args)
1705
+ ImageCollection.new(self, extract_selector(args).merge(:tag_name => "img"))
1706
+ end
1707
+
1708
+ WatirNokogiri.tag_to_class[:img] = Image
1709
+ #
1710
+ # @return [Input]
1711
+ #
1712
+
1713
+ def input(*args)
1714
+ Input.new(self, extract_selector(args).merge(:tag_name => "input"))
1715
+ end
1716
+
1717
+ #
1718
+ # @return [InputCollection]
1719
+ #
1720
+
1721
+ def inputs(*args)
1722
+ InputCollection.new(self, extract_selector(args).merge(:tag_name => "input"))
1723
+ end
1724
+
1725
+ WatirNokogiri.tag_to_class[:input] = Input
1726
+ #
1727
+ # @return [Mod]
1728
+ #
1729
+
1730
+ def ins(*args)
1731
+ Mod.new(self, extract_selector(args).merge(:tag_name => "ins"))
1732
+ end
1733
+
1734
+ #
1735
+ # @return [ModCollection]
1736
+ #
1737
+
1738
+ def inses(*args)
1739
+ ModCollection.new(self, extract_selector(args).merge(:tag_name => "ins"))
1740
+ end
1741
+
1742
+ WatirNokogiri.tag_to_class[:ins] = Mod
1743
+ #
1744
+ # @return [HTMLElement]
1745
+ #
1746
+
1747
+ def kbd(*args)
1748
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "kbd"))
1749
+ end
1750
+
1751
+ #
1752
+ # @return [HTMLElementCollection]
1753
+ #
1754
+
1755
+ def kbds(*args)
1756
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "kbd"))
1757
+ end
1758
+
1759
+ WatirNokogiri.tag_to_class[:kbd] = HTMLElement
1760
+ #
1761
+ # @return [Keygen]
1762
+ #
1763
+
1764
+ def keygen(*args)
1765
+ Keygen.new(self, extract_selector(args).merge(:tag_name => "keygen"))
1766
+ end
1767
+
1768
+ #
1769
+ # @return [KeygenCollection]
1770
+ #
1771
+
1772
+ def keygens(*args)
1773
+ KeygenCollection.new(self, extract_selector(args).merge(:tag_name => "keygen"))
1774
+ end
1775
+
1776
+ WatirNokogiri.tag_to_class[:keygen] = Keygen
1777
+ #
1778
+ # @return [Label]
1779
+ #
1780
+
1781
+ def label(*args)
1782
+ Label.new(self, extract_selector(args).merge(:tag_name => "label"))
1783
+ end
1784
+
1785
+ #
1786
+ # @return [LabelCollection]
1787
+ #
1788
+
1789
+ def labels(*args)
1790
+ LabelCollection.new(self, extract_selector(args).merge(:tag_name => "label"))
1791
+ end
1792
+
1793
+ WatirNokogiri.tag_to_class[:label] = Label
1794
+ #
1795
+ # @return [Legend]
1796
+ #
1797
+
1798
+ def legend(*args)
1799
+ Legend.new(self, extract_selector(args).merge(:tag_name => "legend"))
1800
+ end
1801
+
1802
+ #
1803
+ # @return [LegendCollection]
1804
+ #
1805
+
1806
+ def legends(*args)
1807
+ LegendCollection.new(self, extract_selector(args).merge(:tag_name => "legend"))
1808
+ end
1809
+
1810
+ WatirNokogiri.tag_to_class[:legend] = Legend
1811
+ #
1812
+ # @return [LI]
1813
+ #
1814
+
1815
+ def li(*args)
1816
+ LI.new(self, extract_selector(args).merge(:tag_name => "li"))
1817
+ end
1818
+
1819
+ #
1820
+ # @return [LICollection]
1821
+ #
1822
+
1823
+ def lis(*args)
1824
+ LICollection.new(self, extract_selector(args).merge(:tag_name => "li"))
1825
+ end
1826
+
1827
+ WatirNokogiri.tag_to_class[:li] = LI
1828
+ #
1829
+ # @return [Map]
1830
+ #
1831
+
1832
+ def map(*args)
1833
+ Map.new(self, extract_selector(args).merge(:tag_name => "map"))
1834
+ end
1835
+
1836
+ #
1837
+ # @return [MapCollection]
1838
+ #
1839
+
1840
+ def maps(*args)
1841
+ MapCollection.new(self, extract_selector(args).merge(:tag_name => "map"))
1842
+ end
1843
+
1844
+ WatirNokogiri.tag_to_class[:map] = Map
1845
+ #
1846
+ # @return [HTMLElement]
1847
+ #
1848
+
1849
+ def mark(*args)
1850
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "mark"))
1851
+ end
1852
+
1853
+ #
1854
+ # @return [HTMLElementCollection]
1855
+ #
1856
+
1857
+ def marks(*args)
1858
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "mark"))
1859
+ end
1860
+
1861
+ WatirNokogiri.tag_to_class[:mark] = HTMLElement
1862
+ #
1863
+ # @return [Menu]
1864
+ #
1865
+
1866
+ def menu(*args)
1867
+ Menu.new(self, extract_selector(args).merge(:tag_name => "menu"))
1868
+ end
1869
+
1870
+ #
1871
+ # @return [MenuCollection]
1872
+ #
1873
+
1874
+ def menus(*args)
1875
+ MenuCollection.new(self, extract_selector(args).merge(:tag_name => "menu"))
1876
+ end
1877
+
1878
+ WatirNokogiri.tag_to_class[:menu] = Menu
1879
+ #
1880
+ # @return [Meta]
1881
+ #
1882
+
1883
+ def meta(*args)
1884
+ Meta.new(self, extract_selector(args).merge(:tag_name => "meta"))
1885
+ end
1886
+
1887
+ #
1888
+ # @return [MetaCollection]
1889
+ #
1890
+
1891
+ def metas(*args)
1892
+ MetaCollection.new(self, extract_selector(args).merge(:tag_name => "meta"))
1893
+ end
1894
+
1895
+ WatirNokogiri.tag_to_class[:meta] = Meta
1896
+ #
1897
+ # @return [Meter]
1898
+ #
1899
+
1900
+ def meter(*args)
1901
+ Meter.new(self, extract_selector(args).merge(:tag_name => "meter"))
1902
+ end
1903
+
1904
+ #
1905
+ # @return [MeterCollection]
1906
+ #
1907
+
1908
+ def meters(*args)
1909
+ MeterCollection.new(self, extract_selector(args).merge(:tag_name => "meter"))
1910
+ end
1911
+
1912
+ WatirNokogiri.tag_to_class[:meter] = Meter
1913
+ #
1914
+ # @return [HTMLElement]
1915
+ #
1916
+
1917
+ def nav(*args)
1918
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "nav"))
1919
+ end
1920
+
1921
+ #
1922
+ # @return [HTMLElementCollection]
1923
+ #
1924
+
1925
+ def navs(*args)
1926
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "nav"))
1927
+ end
1928
+
1929
+ WatirNokogiri.tag_to_class[:nav] = HTMLElement
1930
+ #
1931
+ # @return [HTMLElement]
1932
+ #
1933
+
1934
+ def noscript(*args)
1935
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "noscript"))
1936
+ end
1937
+
1938
+ #
1939
+ # @return [HTMLElementCollection]
1940
+ #
1941
+
1942
+ def noscripts(*args)
1943
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "noscript"))
1944
+ end
1945
+
1946
+ WatirNokogiri.tag_to_class[:noscript] = HTMLElement
1947
+ #
1948
+ # @return [Object]
1949
+ #
1950
+
1951
+ def object(*args)
1952
+ Object.new(self, extract_selector(args).merge(:tag_name => "object"))
1953
+ end
1954
+
1955
+ #
1956
+ # @return [ObjectCollection]
1957
+ #
1958
+
1959
+ def objects(*args)
1960
+ ObjectCollection.new(self, extract_selector(args).merge(:tag_name => "object"))
1961
+ end
1962
+
1963
+ WatirNokogiri.tag_to_class[:object] = Object
1964
+ #
1965
+ # @return [OList]
1966
+ #
1967
+
1968
+ def ol(*args)
1969
+ OList.new(self, extract_selector(args).merge(:tag_name => "ol"))
1970
+ end
1971
+
1972
+ #
1973
+ # @return [OListCollection]
1974
+ #
1975
+
1976
+ def ols(*args)
1977
+ OListCollection.new(self, extract_selector(args).merge(:tag_name => "ol"))
1978
+ end
1979
+
1980
+ WatirNokogiri.tag_to_class[:ol] = OList
1981
+ #
1982
+ # @return [OptGroup]
1983
+ #
1984
+
1985
+ def optgroup(*args)
1986
+ OptGroup.new(self, extract_selector(args).merge(:tag_name => "optgroup"))
1987
+ end
1988
+
1989
+ #
1990
+ # @return [OptGroupCollection]
1991
+ #
1992
+
1993
+ def optgroups(*args)
1994
+ OptGroupCollection.new(self, extract_selector(args).merge(:tag_name => "optgroup"))
1995
+ end
1996
+
1997
+ WatirNokogiri.tag_to_class[:optgroup] = OptGroup
1998
+ #
1999
+ # @return [Option]
2000
+ #
2001
+
2002
+ def option(*args)
2003
+ Option.new(self, extract_selector(args).merge(:tag_name => "option"))
2004
+ end
2005
+
2006
+ #
2007
+ # @return [OptionCollection]
2008
+ #
2009
+
2010
+ def options(*args)
2011
+ OptionCollection.new(self, extract_selector(args).merge(:tag_name => "option"))
2012
+ end
2013
+
2014
+ WatirNokogiri.tag_to_class[:option] = Option
2015
+ #
2016
+ # @return [Output]
2017
+ #
2018
+
2019
+ def output(*args)
2020
+ Output.new(self, extract_selector(args).merge(:tag_name => "output"))
2021
+ end
2022
+
2023
+ #
2024
+ # @return [OutputCollection]
2025
+ #
2026
+
2027
+ def outputs(*args)
2028
+ OutputCollection.new(self, extract_selector(args).merge(:tag_name => "output"))
2029
+ end
2030
+
2031
+ WatirNokogiri.tag_to_class[:output] = Output
2032
+ #
2033
+ # @return [Paragraph]
2034
+ #
2035
+
2036
+ def p(*args)
2037
+ Paragraph.new(self, extract_selector(args).merge(:tag_name => "p"))
2038
+ end
2039
+
2040
+ #
2041
+ # @return [ParagraphCollection]
2042
+ #
2043
+
2044
+ def ps(*args)
2045
+ ParagraphCollection.new(self, extract_selector(args).merge(:tag_name => "p"))
2046
+ end
2047
+
2048
+ WatirNokogiri.tag_to_class[:p] = Paragraph
2049
+ #
2050
+ # @return [Param]
2051
+ #
2052
+
2053
+ def param(*args)
2054
+ Param.new(self, extract_selector(args).merge(:tag_name => "param"))
2055
+ end
2056
+
2057
+ #
2058
+ # @return [ParamCollection]
2059
+ #
2060
+
2061
+ def params(*args)
2062
+ ParamCollection.new(self, extract_selector(args).merge(:tag_name => "param"))
2063
+ end
2064
+
2065
+ WatirNokogiri.tag_to_class[:param] = Param
2066
+ #
2067
+ # @return [Pre]
2068
+ #
2069
+
2070
+ def pre(*args)
2071
+ Pre.new(self, extract_selector(args).merge(:tag_name => "pre"))
2072
+ end
2073
+
2074
+ #
2075
+ # @return [PreCollection]
2076
+ #
2077
+
2078
+ def pres(*args)
2079
+ PreCollection.new(self, extract_selector(args).merge(:tag_name => "pre"))
2080
+ end
2081
+
2082
+ WatirNokogiri.tag_to_class[:pre] = Pre
2083
+ #
2084
+ # @return [Progress]
2085
+ #
2086
+
2087
+ def progress(*args)
2088
+ Progress.new(self, extract_selector(args).merge(:tag_name => "progress"))
2089
+ end
2090
+
2091
+ #
2092
+ # @return [ProgressCollection]
2093
+ #
2094
+
2095
+ def progresses(*args)
2096
+ ProgressCollection.new(self, extract_selector(args).merge(:tag_name => "progress"))
2097
+ end
2098
+
2099
+ WatirNokogiri.tag_to_class[:progress] = Progress
2100
+ #
2101
+ # @return [Quote]
2102
+ #
2103
+
2104
+ def q(*args)
2105
+ Quote.new(self, extract_selector(args).merge(:tag_name => "q"))
2106
+ end
2107
+
2108
+ #
2109
+ # @return [QuoteCollection]
2110
+ #
2111
+
2112
+ def qs(*args)
2113
+ QuoteCollection.new(self, extract_selector(args).merge(:tag_name => "q"))
2114
+ end
2115
+
2116
+ WatirNokogiri.tag_to_class[:q] = Quote
2117
+ #
2118
+ # @return [HTMLElement]
2119
+ #
2120
+
2121
+ def rp(*args)
2122
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "rp"))
2123
+ end
2124
+
2125
+ #
2126
+ # @return [HTMLElementCollection]
2127
+ #
2128
+
2129
+ def rps(*args)
2130
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "rp"))
2131
+ end
2132
+
2133
+ WatirNokogiri.tag_to_class[:rp] = HTMLElement
2134
+ #
2135
+ # @return [HTMLElement]
2136
+ #
2137
+
2138
+ def rt(*args)
2139
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "rt"))
2140
+ end
2141
+
2142
+ #
2143
+ # @return [HTMLElementCollection]
2144
+ #
2145
+
2146
+ def rts(*args)
2147
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "rt"))
2148
+ end
2149
+
2150
+ WatirNokogiri.tag_to_class[:rt] = HTMLElement
2151
+ #
2152
+ # @return [HTMLElement]
2153
+ #
2154
+
2155
+ def ruby(*args)
2156
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "ruby"))
2157
+ end
2158
+
2159
+ #
2160
+ # @return [HTMLElementCollection]
2161
+ #
2162
+
2163
+ def rubies(*args)
2164
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "ruby"))
2165
+ end
2166
+
2167
+ WatirNokogiri.tag_to_class[:ruby] = HTMLElement
2168
+ #
2169
+ # @return [HTMLElement]
2170
+ #
2171
+
2172
+ def s(*args)
2173
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "s"))
2174
+ end
2175
+
2176
+ #
2177
+ # @return [HTMLElementCollection]
2178
+ #
2179
+
2180
+ def ss(*args)
2181
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "s"))
2182
+ end
2183
+
2184
+ WatirNokogiri.tag_to_class[:s] = HTMLElement
2185
+ #
2186
+ # @return [HTMLElement]
2187
+ #
2188
+
2189
+ def samp(*args)
2190
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "samp"))
2191
+ end
2192
+
2193
+ #
2194
+ # @return [HTMLElementCollection]
2195
+ #
2196
+
2197
+ def samps(*args)
2198
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "samp"))
2199
+ end
2200
+
2201
+ WatirNokogiri.tag_to_class[:samp] = HTMLElement
2202
+ #
2203
+ # @return [Script]
2204
+ #
2205
+
2206
+ def script(*args)
2207
+ Script.new(self, extract_selector(args).merge(:tag_name => "script"))
2208
+ end
2209
+
2210
+ #
2211
+ # @return [ScriptCollection]
2212
+ #
2213
+
2214
+ def scripts(*args)
2215
+ ScriptCollection.new(self, extract_selector(args).merge(:tag_name => "script"))
2216
+ end
2217
+
2218
+ WatirNokogiri.tag_to_class[:script] = Script
2219
+ #
2220
+ # @return [HTMLElement]
2221
+ #
2222
+
2223
+ def section(*args)
2224
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "section"))
2225
+ end
2226
+
2227
+ #
2228
+ # @return [HTMLElementCollection]
2229
+ #
2230
+
2231
+ def sections(*args)
2232
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "section"))
2233
+ end
2234
+
2235
+ WatirNokogiri.tag_to_class[:section] = HTMLElement
2236
+ #
2237
+ # @return [Select]
2238
+ #
2239
+
2240
+ def select(*args)
2241
+ Select.new(self, extract_selector(args).merge(:tag_name => "select"))
2242
+ end
2243
+
2244
+ #
2245
+ # @return [SelectCollection]
2246
+ #
2247
+
2248
+ def selects(*args)
2249
+ SelectCollection.new(self, extract_selector(args).merge(:tag_name => "select"))
2250
+ end
2251
+
2252
+ WatirNokogiri.tag_to_class[:select] = Select
2253
+ #
2254
+ # @return [HTMLElement]
2255
+ #
2256
+
2257
+ def small(*args)
2258
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "small"))
2259
+ end
2260
+
2261
+ #
2262
+ # @return [HTMLElementCollection]
2263
+ #
2264
+
2265
+ def smalls(*args)
2266
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "small"))
2267
+ end
2268
+
2269
+ WatirNokogiri.tag_to_class[:small] = HTMLElement
2270
+ #
2271
+ # @return [Source]
2272
+ #
2273
+
2274
+ def source(*args)
2275
+ Source.new(self, extract_selector(args).merge(:tag_name => "source"))
2276
+ end
2277
+
2278
+ #
2279
+ # @return [SourceCollection]
2280
+ #
2281
+
2282
+ def sources(*args)
2283
+ SourceCollection.new(self, extract_selector(args).merge(:tag_name => "source"))
2284
+ end
2285
+
2286
+ WatirNokogiri.tag_to_class[:source] = Source
2287
+ #
2288
+ # @return [Span]
2289
+ #
2290
+
2291
+ def span(*args)
2292
+ Span.new(self, extract_selector(args).merge(:tag_name => "span"))
2293
+ end
2294
+
2295
+ #
2296
+ # @return [SpanCollection]
2297
+ #
2298
+
2299
+ def spans(*args)
2300
+ SpanCollection.new(self, extract_selector(args).merge(:tag_name => "span"))
2301
+ end
2302
+
2303
+ WatirNokogiri.tag_to_class[:span] = Span
2304
+ #
2305
+ # @return [HTMLElement]
2306
+ #
2307
+
2308
+ def strong(*args)
2309
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "strong"))
2310
+ end
2311
+
2312
+ #
2313
+ # @return [HTMLElementCollection]
2314
+ #
2315
+
2316
+ def strongs(*args)
2317
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "strong"))
2318
+ end
2319
+
2320
+ WatirNokogiri.tag_to_class[:strong] = HTMLElement
2321
+ #
2322
+ # @return [Style]
2323
+ #
2324
+
2325
+ def style(*args)
2326
+ Style.new(self, extract_selector(args).merge(:tag_name => "style"))
2327
+ end
2328
+
2329
+ #
2330
+ # @return [StyleCollection]
2331
+ #
2332
+
2333
+ def styles(*args)
2334
+ StyleCollection.new(self, extract_selector(args).merge(:tag_name => "style"))
2335
+ end
2336
+
2337
+ WatirNokogiri.tag_to_class[:style] = Style
2338
+ #
2339
+ # @return [HTMLElement]
2340
+ #
2341
+
2342
+ def sub(*args)
2343
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "sub"))
2344
+ end
2345
+
2346
+ #
2347
+ # @return [HTMLElementCollection]
2348
+ #
2349
+
2350
+ def subs(*args)
2351
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "sub"))
2352
+ end
2353
+
2354
+ WatirNokogiri.tag_to_class[:sub] = HTMLElement
2355
+ #
2356
+ # @return [HTMLElement]
2357
+ #
2358
+
2359
+ def summary(*args)
2360
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "summary"))
2361
+ end
2362
+
2363
+ #
2364
+ # @return [HTMLElementCollection]
2365
+ #
2366
+
2367
+ def summaries(*args)
2368
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "summary"))
2369
+ end
2370
+
2371
+ WatirNokogiri.tag_to_class[:summary] = HTMLElement
2372
+ #
2373
+ # @return [HTMLElement]
2374
+ #
2375
+
2376
+ def sup(*args)
2377
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "sup"))
2378
+ end
2379
+
2380
+ #
2381
+ # @return [HTMLElementCollection]
2382
+ #
2383
+
2384
+ def sups(*args)
2385
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "sup"))
2386
+ end
2387
+
2388
+ WatirNokogiri.tag_to_class[:sup] = HTMLElement
2389
+ #
2390
+ # @return [Table]
2391
+ #
2392
+
2393
+ def table(*args)
2394
+ Table.new(self, extract_selector(args).merge(:tag_name => "table"))
2395
+ end
2396
+
2397
+ #
2398
+ # @return [TableCollection]
2399
+ #
2400
+
2401
+ def tables(*args)
2402
+ TableCollection.new(self, extract_selector(args).merge(:tag_name => "table"))
2403
+ end
2404
+
2405
+ WatirNokogiri.tag_to_class[:table] = Table
2406
+ #
2407
+ # @return [TableSection]
2408
+ #
2409
+
2410
+ def tbody(*args)
2411
+ TableSection.new(self, extract_selector(args).merge(:tag_name => "tbody"))
2412
+ end
2413
+
2414
+ #
2415
+ # @return [TableSectionCollection]
2416
+ #
2417
+
2418
+ def tbodys(*args)
2419
+ TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "tbody"))
2420
+ end
2421
+
2422
+ WatirNokogiri.tag_to_class[:tbody] = TableSection
2423
+ #
2424
+ # @return [TableDataCell]
2425
+ #
2426
+
2427
+ def td(*args)
2428
+ TableDataCell.new(self, extract_selector(args).merge(:tag_name => "td"))
2429
+ end
2430
+
2431
+ #
2432
+ # @return [TableDataCellCollection]
2433
+ #
2434
+
2435
+ def tds(*args)
2436
+ TableDataCellCollection.new(self, extract_selector(args).merge(:tag_name => "td"))
2437
+ end
2438
+
2439
+ WatirNokogiri.tag_to_class[:td] = TableDataCell
2440
+ #
2441
+ # @return [TextArea]
2442
+ #
2443
+
2444
+ def textarea(*args)
2445
+ TextArea.new(self, extract_selector(args).merge(:tag_name => "textarea"))
2446
+ end
2447
+
2448
+ #
2449
+ # @return [TextAreaCollection]
2450
+ #
2451
+
2452
+ def textareas(*args)
2453
+ TextAreaCollection.new(self, extract_selector(args).merge(:tag_name => "textarea"))
2454
+ end
2455
+
2456
+ WatirNokogiri.tag_to_class[:textarea] = TextArea
2457
+ #
2458
+ # @return [TableSection]
2459
+ #
2460
+
2461
+ def tfoot(*args)
2462
+ TableSection.new(self, extract_selector(args).merge(:tag_name => "tfoot"))
2463
+ end
2464
+
2465
+ #
2466
+ # @return [TableSectionCollection]
2467
+ #
2468
+
2469
+ def tfoots(*args)
2470
+ TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "tfoot"))
2471
+ end
2472
+
2473
+ WatirNokogiri.tag_to_class[:tfoot] = TableSection
2474
+ #
2475
+ # @return [TableHeaderCell]
2476
+ #
2477
+
2478
+ def th(*args)
2479
+ TableHeaderCell.new(self, extract_selector(args).merge(:tag_name => "th"))
2480
+ end
2481
+
2482
+ #
2483
+ # @return [TableHeaderCellCollection]
2484
+ #
2485
+
2486
+ def ths(*args)
2487
+ TableHeaderCellCollection.new(self, extract_selector(args).merge(:tag_name => "th"))
2488
+ end
2489
+
2490
+ WatirNokogiri.tag_to_class[:th] = TableHeaderCell
2491
+ #
2492
+ # @return [TableSection]
2493
+ #
2494
+
2495
+ def thead(*args)
2496
+ TableSection.new(self, extract_selector(args).merge(:tag_name => "thead"))
2497
+ end
2498
+
2499
+ #
2500
+ # @return [TableSectionCollection]
2501
+ #
2502
+
2503
+ def theads(*args)
2504
+ TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "thead"))
2505
+ end
2506
+
2507
+ WatirNokogiri.tag_to_class[:thead] = TableSection
2508
+ #
2509
+ # @return [Time]
2510
+ #
2511
+
2512
+ def time(*args)
2513
+ Time.new(self, extract_selector(args).merge(:tag_name => "time"))
2514
+ end
2515
+
2516
+ #
2517
+ # @return [TimeCollection]
2518
+ #
2519
+
2520
+ def times(*args)
2521
+ TimeCollection.new(self, extract_selector(args).merge(:tag_name => "time"))
2522
+ end
2523
+
2524
+ WatirNokogiri.tag_to_class[:time] = Time
2525
+ #
2526
+ # @return [Title]
2527
+ #
2528
+
2529
+ def title(*args)
2530
+ Title.new(self, extract_selector(args).merge(:tag_name => "title"))
2531
+ end
2532
+
2533
+ #
2534
+ # @return [TitleCollection]
2535
+ #
2536
+
2537
+ def titles(*args)
2538
+ TitleCollection.new(self, extract_selector(args).merge(:tag_name => "title"))
2539
+ end
2540
+
2541
+ WatirNokogiri.tag_to_class[:title] = Title
2542
+ #
2543
+ # @return [TableRow]
2544
+ #
2545
+
2546
+ def tr(*args)
2547
+ TableRow.new(self, extract_selector(args).merge(:tag_name => "tr"))
2548
+ end
2549
+
2550
+ #
2551
+ # @return [TableRowCollection]
2552
+ #
2553
+
2554
+ def trs(*args)
2555
+ TableRowCollection.new(self, extract_selector(args).merge(:tag_name => "tr"))
2556
+ end
2557
+
2558
+ WatirNokogiri.tag_to_class[:tr] = TableRow
2559
+ #
2560
+ # @return [Track]
2561
+ #
2562
+
2563
+ def track(*args)
2564
+ Track.new(self, extract_selector(args).merge(:tag_name => "track"))
2565
+ end
2566
+
2567
+ #
2568
+ # @return [TrackCollection]
2569
+ #
2570
+
2571
+ def tracks(*args)
2572
+ TrackCollection.new(self, extract_selector(args).merge(:tag_name => "track"))
2573
+ end
2574
+
2575
+ WatirNokogiri.tag_to_class[:track] = Track
2576
+ #
2577
+ # @return [HTMLElement]
2578
+ #
2579
+
2580
+ def u(*args)
2581
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "u"))
2582
+ end
2583
+
2584
+ #
2585
+ # @return [HTMLElementCollection]
2586
+ #
2587
+
2588
+ def us(*args)
2589
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "u"))
2590
+ end
2591
+
2592
+ WatirNokogiri.tag_to_class[:u] = HTMLElement
2593
+ #
2594
+ # @return [UList]
2595
+ #
2596
+
2597
+ def ul(*args)
2598
+ UList.new(self, extract_selector(args).merge(:tag_name => "ul"))
2599
+ end
2600
+
2601
+ #
2602
+ # @return [UListCollection]
2603
+ #
2604
+
2605
+ def uls(*args)
2606
+ UListCollection.new(self, extract_selector(args).merge(:tag_name => "ul"))
2607
+ end
2608
+
2609
+ WatirNokogiri.tag_to_class[:ul] = UList
2610
+ #
2611
+ # @return [HTMLElement]
2612
+ #
2613
+
2614
+ def var(*args)
2615
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "var"))
2616
+ end
2617
+
2618
+ #
2619
+ # @return [HTMLElementCollection]
2620
+ #
2621
+
2622
+ def vars(*args)
2623
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "var"))
2624
+ end
2625
+
2626
+ WatirNokogiri.tag_to_class[:var] = HTMLElement
2627
+ #
2628
+ # @return [Video]
2629
+ #
2630
+
2631
+ def video(*args)
2632
+ Video.new(self, extract_selector(args).merge(:tag_name => "video"))
2633
+ end
2634
+
2635
+ #
2636
+ # @return [VideoCollection]
2637
+ #
2638
+
2639
+ def videos(*args)
2640
+ VideoCollection.new(self, extract_selector(args).merge(:tag_name => "video"))
2641
+ end
2642
+
2643
+ WatirNokogiri.tag_to_class[:video] = Video
2644
+ #
2645
+ # @return [HTMLElement]
2646
+ #
2647
+
2648
+ def wbr(*args)
2649
+ HTMLElement.new(self, extract_selector(args).merge(:tag_name => "wbr"))
2650
+ end
2651
+
2652
+ #
2653
+ # @return [HTMLElementCollection]
2654
+ #
2655
+
2656
+ def wbrs(*args)
2657
+ HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "wbr"))
2658
+ end
2659
+
2660
+ WatirNokogiri.tag_to_class[:wbr] = HTMLElement
2661
+ end # Container
2662
+ end # Watir