Menu
Open source RSS

Element

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.

MethodDescription
selectionThe selection matching the element.
nodeNameThe name of the element.
nodeTypeThe type of the element.
nodeValueThe element value.
idThe id of the element.
innerHTMLIs a DOMString representing the markup of the element’s content.
textContentThe element content.
ownerDocumentElement
attributesAn array of attributes.
firstChildElement
lastChildElement
childElementCountThe number of children elements.
firstElementChildElement
lastElementChildElement
previousSiblingElement
nextSiblingElement
previousElementSiblingElement
nextElementSiblingElement
parentElementElement
parentNodeElement
childNodesArray of Element
childrenArray of Element
classListAn array of class names.
classNameThe class name string
langThe value of the lang attribute.
toStringThe element string representation.
hasAttributeBoolean
getAttributegetAttributeNode
hasAttributesBoolean
hasChildNodesBoolean
isSameNodeBoolean
isEqualNodeBoolean
getElementsByClassNameReturn an array of Element.
getElementsByTagNameReturn an array of Element.
querySelectorReturns the first Element which matches the specified selector string relative to the element
querySelectorAllReturns all the Element which matches the specified selector string relative to the element
contains
matchesReturns a Boolean indicating whether or not the element would be selected by the specified selector string
namespaceURIThe namespace URI of the element.
isDefaultNamespaceReturns 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

JavaScript
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);
}
JavaScript
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);
}