butterbee/page_module/table_element

Define elements for page module using this module.

Example:

import butterbee/page_module/table_element.{type NodeTable}

pub fn pokedex_table(
  driver: WebDriver(state),
  on_element: NodeTable,
  action: fn(_) -> WebDriver(new_state),
) {
  table_element.define(
    table: by.css("table#pokedex"),
    table_row: by.css("tr"),
    table_cell: by.css("td"),
    table_width: 3,
  )
  |> table_element.perform_action(driver, on_element, action)
}

For a more complete example, see the page module guide.

Types

pub type NodeTable {
  Table
  Row(Int)
  Cell(row: Int, column: Int)
}

Constructors

  • Table
  • Row(Int)
  • Cell(row: Int, column: Int)

Values

pub fn define(
  table table_locator: locator.Locator,
  table_row table_row_locator: locator.Locator,
  table_cell table_cell_locator: locator.Locator,
  table_width table_width: Int,
) -> #(locator.Locator, locator.Locator, locator.Locator, Int)
pub fn perform_action(
  locator: #(
    locator.Locator,
    locator.Locator,
    locator.Locator,
    Int,
  ),
  driver: webdriver.WebDriver(state),
  on_element: NodeTable,
  action: fn(webdriver.WebDriver(remote_value.NodeRemoteValue)) -> webdriver.WebDriver(
    new_state,
  ),
) -> webdriver.WebDriver(new_state)
Search Document