菜单
开源 RSS

Element

表示由 Selection 匹配的 DOM 元素,并提供了检查元素内容的 API。

使用 Selection.get(index) 返回 Element 对象。

Element 对象提供了与 DOM Element API 类似的 API,用于检索元素信息。

方法描述
selection匹配元素的 selection。
nodeName元素的名称。
nodeType元素的类型。
nodeValue元素的值。
id元素的 id。
innerHTML是一个表示元素内容标记的 DOMString。
textContent元素的内容。
ownerDocumentElement
attributes属性数组。
firstChildElement
lastChildElement
childElementCount子元素的数量。
firstElementChildElement
lastElementChildElement
previousSiblingElement
nextSiblingElement
previousElementSiblingElement
nextElementSiblingElement
parentElementElement
parentNodeElement
childNodesElement 数组
childrenElement 数组
classList类名数组。
className类名字符串
langlang 属性的值。
toString元素的字符串表示。
hasAttribute布尔值
getAttributegetAttributeNode
hasAttributes布尔值
hasChildNodes布尔值
isSameNode布尔值
isEqualNode布尔值
getElementsByClassName返回 Element 数组。
getElementsByTagName返回 Element 数组。
querySelector返回与元素相关的指定选择器字符串匹配的第一个 Element
querySelectorAll返回与元素相关的指定选择器字符串匹配的所有 Element
contains
matches返回一个布尔值,指示元素是否会由指定的选择器字符串选中
namespaceURI元素的命名空间 URI。
isDefaultNamespace返回一个布尔值,指示元素是否具有默认命名空间。

此外,Element 根据元素类型的不同,还可以提供更多方法。

  • 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

示例

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