This is documentation for the next version of K6. For the latest stable release, go to the latest version.
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);
}