Skip to content

Latest commit

 

History

History
160 lines (117 loc) · 9.11 KB

File metadata and controls

160 lines (117 loc) · 9.11 KB
title description excerpt
Element
An HTML DOM element as returned by the Selection API.
An HTML DOM element as returned by the Selection API.

Represents a DOM element matched by a Selection, and provides an API to inspect the element content.

Use Selection.get(index) to return an Element object.

The Element object provides a similar API to the DOM Element API to retrieve element information.

Method Description
nodeName The name of the element.
nodeType The type of the element.
nodeValue The element value.
id The id of the element.
innerHTML Is a DOMString representing the markup of the element's content.
textContent The element content.
ownerDocument Element
attributes An array of attributes.
firstChild Element
lastChild Element
childElementCount The number of children elements.
firstElementChild Element
lastElementChild Element
previousSibling Element
nextSibling Element
previousElementSibling Element
nextElementSibling Element
parentElement Element
parentNode Element
childNodes Array of Element
children Array of Element
classList An array of class names.
className The class name string
lang The value of the lang attribute.
toString The element string representation.
hasAttribute Boolean
getAttribute getAttributeNode
hasAttributes Boolean
hasChildNodes Boolean
isSameNode Boolean
isEqualNode Boolean
getElementsByClassName Return an array of Element.
getElementsByTagName Return an array of Element.
querySelector Returns the first Element which matches the specified selector string relative to the element
querySelectorAll Returns all the Element which matches the specified selector string relative to the element
contains
matches Returns a Boolean indicating whether or not the element would be selected by the specified selector string
namespaceURI The namespace URI of the element.
isDefaultNamespace Returns a Boolean indicating whether the element has the default namespace.

Additionally, Element can provide more methods depending on the Element type.

  • AnchorElement: hash, host, hostname, port, username, password, origin, pathname, protocol, relist, search, text.

  • ButtonElement: form, formAction, formEnctype, formMethod, formNoValidate, formTarget, labels, name, value.

  • CanvasElement: width, height

  • DataListElement: options

  • FieldSetElement: elements, type, form

  • FormElement: elements, length, method

  • InputElement: form

  • LabelElement: control, form

  • LegendElement: form

  • LinkElement: relList

  • MapElement: areas, images

  • ObjectElement: form

  • OptionElement: disabled, form, index, label, text, value

  • OutputElement: value, labels

  • ProgressElement: max, value, position

  • ScriptElement: text

  • SelectElement: form, length, options, selectedOptions, selectedIndex, value

  • StyleElement: text

  • TableElement: caption, thead, tbody, tfoot, rows

  • TableCellElement: cellIndex, colSpan, rowSpan, headers

  • TableRowElement: cells, colSpan, sectionRowIndex, rowIndex

  • VideoElement: textTracks

  • TitleElement: text

Example

import { parseHTML } from 'k6/html';
import { sleep } from 'k6';

export default function () {
  const content = `
<dl>
  <dt id="term-1">Value term 1</dt>
  <dt id="term-2">Value term 2</dt>
</dl>
  `;
  const sel = parseHTML(content).find('dl').children();

  const el1 = sel.get(0);
  const el2 = sel.get(1);

  console.log(el1.nodeName());
  console.log(el1.id());
  console.log(el1.textContent());

  console.log(el2.nodeName());
  console.log(el2.id());
  console.log(el2.textContent());

  sleep(1);
}
import { parseHTML } from 'k6/html';
import { sleep } from 'k6';

export default function () {
  const content = `
\t<a href="http://username:password@example.com:80" rel="prev next" target="_self" type="rare" accesskey="q" hreflang="en-US" media="print">6</a>
  `;
  const el = parseHTML(content).find('a').get(0);

  console.log(el.nodeName());
  console.log(el.innerHTML());
  console.log(el.host());
  console.log(el.hostname());
  console.log(el.protocol());

  sleep(1);
}