Meeseeks v0.7.6 Meeseeks.Result

Results are the product of running selections on a document, and package together a node id and the Meeseeks.Document for which that id is valid.

Results may be used in two ways:

  • Data, such as an element's tag, can be extracted from a result
  • Further selections may be ran using the result as a source

Examples

iex> import Meeseeks.CSS
iex> document = Meeseeks.parse("<div><ul><li>1</li><li>2</li></ul></div>")
#Meeseeks.Document<{...}>
iex> ul = Meeseeks.one(document, css("ul"))
#Meeseeks.Result<{ <ul><li>1</li><li>2</li></ul> }>
iex> Meeseeks.tag(ul)
"ul"
iex> Meeseeks.all(ul, css("li")) |> List.last()
#Meeseeks.Result<{ <li>2</li> }>

Summary

Functions

Returns the value for attribute in result, or nil if there isn't one

Returns the result's attributes list, which may be empty, or nil if result represents a node without attributes

Returns the combined data of result or result's children, which may be an empty string

Returns a map of result's data attributes, or nil if result represents a node without attributes

Returns the combined HTML of result and its descendants

Returns the combined text of result or result's children, which may be an empty string

Returns result's tag, or nil if result represents a node without a tag

Returns the combined text of result or result's descendants, which may be an empty string

Returns a Meeseeks.TupleTree of result and its descendants

Types

t()
t() :: %Meeseeks.Result{document: Meeseeks.Document.t, id: Meeseeks.Document.node_id}

Functions

attr(result, attribute)

Returns the value for attribute in result, or nil if there isn't one.

attrs(result)
attrs(Meeseeks.Result.t) :: [{String.t, String.t}] | nil

Returns the result's attributes list, which may be empty, or nil if result represents a node without attributes.

data(result)

Returns the combined data of result or result's children, which may be an empty string.

Data is the content of <script> or <style> tags, or the content of comments starting with "[CDATA[" and ending with "]]". The latter behavior is to support the extraction of CDATA from HTML, since HTML5 parsers parse CDATA as comments.

dataset(result)
dataset(Meeseeks.Result.t) ::
  %{optional(String.t) => String.t} |
  nil

Returns a map of result's data attributes, or nil if result represents a node without attributes.

Behaves like HTMLElement.dataset; only valid data attributes are included, and attribute names have "data-" removed and are converted to camelCase.

See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset

html(result)

Returns the combined HTML of result and its descendants.

own_text(result)

Returns the combined text of result or result's children, which may be an empty string.

tag(result)
tag(Meeseeks.Result.t) :: String.t | nil

Returns result's tag, or nil if result represents a node without a tag.

text(result)

Returns the combined text of result or result's descendants, which may be an empty string.

Returns a Meeseeks.TupleTree of result and its descendants.