watir-nokogiri 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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