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.
| Method | Description | 
|---|---|
| selection | The selection matching the element. | 
| 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);
}





