Oxylabs Documentation
English
Search
K

List of instructions

General arguments

All the instructions defined below have a consistent set of arguments. The arguments are as follows.

type

  • Type: Enum["click", "input", "scroll", "scroll_to_bottom", "wait", "wait_for_element", "fetch_resource"]
  • Description: Browser instruction type.

timeout_s

  • Type: int
  • Description: How much time in seconds to wait at max until the execution of the action is terminated.
  • Restrictions: 0 < timeout_s <= 60
  • Default value: 5

wait_time_s

  • Type: int
  • Description: How much time in seconds to use explicitly to execute the action.
  • Restrictions: 0 < wait_time_s <= 60
  • Default value: 0

on_error

  • Type: Enum["error", "skip"]
  • Description: Indicator what to do with instructions in case this instruction fails:
    • "error": Stops the execution of browser instructions.
    • "skip": Continues with the next instruction.
  • Default value: "error"

Instructions

click

  • Description: Clicks an element and wait a set count of seconds.
  • Args:
    • type: str = "click"
    • selector: dict
      • type: Enum["xpath", "css", "text"]
      • value: str
  • Example:
{
"type": "click",
"selector": {
"type": "xpath",
"value": "//button"
}
}

input

  • Description: Enters a text into a selected element.
  • Args:
    • type: str = "input"
    • selector: dict
      • type: Enum["xpath", "css", "text"]
      • value: str
    • value: str
    • Example:
{
"type": "input",
"selector": {
"type": "xpath",
"value": "//input"
},
"value": "pizza boxes"
}

scroll

  • Description: Scrolls a set count of pixels.
  • Args:
    • type: str = "scroll"
    • x: int
    • y: int
  • Example:
{
"type": "scroll",
"x": 0,
"y": 100
}

scroll_to_bottom

  • Description: Scrolls to bottom for a set count of seconds.
  • Args:
    • type: str = "scroll_to_bottom"
  • Example:
{
"type": "scroll_to_bottom",
"timeout_s": 10
}

wait

  • Description: Waits a set count of seconds.
  • Args:
    • type: str = "wait"
  • Example:
{
"type": "wait",
"wait_time_s": 2
}

wait_for_element

  • Description: Waits for element to load for a set count of seconds.
  • Args:
    • type: str = "wait_for_element"
    • selector: dict
      • type: Enum["xpath", "css", "text"]
      • value: str
    • Example:
{
"type": "wait_for_element",
"selector": {
"type": "text",
"value": "Load More Items"
},
"timeout_s": 5
}

fetch_resource

The fetch_resource instruction cannot be combined with the remaining instructions.
  • Description: Fetches the first occurrence of a Fetch/XHR resource matching the set pattern.
  • Args:
    • type: str = "fetch_resource"
    • filter: str(RegEx expression)
    • on_error: Enum["error", "skip"]
  • Example:
{
"type": "fetch_resource",
"filter": "/graphql/item/"
}

Instructions' validation

Any inconsistency in regards to instruction format will result in a 400 status code and a corresponding error message.
For example, payload as such:
{
"source": "universal",
"url": "https://www.example.com/",
"render": "html",
"browser_instructions": [
{
"type": "unsupported-wait",
"wait_time_s": 5
}
]
}
Will result in:
{
"errors": {
"message": "Unsupported action type `unsupported-wait`, choose from 'click,fetch_resource,input,scroll,scroll_to_bottom,wait,wait_for_element'"
}
}