Wait For Node
curl --request POST \
--url https://api.example.com/browsers/{id}/wait-for-node/ \
--header 'Content-Type: application/json' \
--data '
{
"selector": "<string>",
"timeout_ms": 123
}
'import requests
url = "https://api.example.com/browsers/{id}/wait-for-node/"
payload = {
"selector": "<string>",
"timeout_ms": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({selector: '<string>', timeout_ms: 123})
};
fetch('https://api.example.com/browsers/{id}/wait-for-node/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/browsers/{id}/wait-for-node/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'selector' => '<string>',
'timeout_ms' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/browsers/{id}/wait-for-node/"
payload := strings.NewReader("{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/browsers/{id}/wait-for-node/")
.header("Content-Type", "application/json")
.body("{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/browsers/{id}/wait-for-node/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}"
response = http.request(request)
puts response.read_body{
"node_id": 123
}Commands
Wait For Node
Wait until a DOM element appears on the page
POST
/
browsers
/
{id}
/
wait-for-node
/
Wait For Node
curl --request POST \
--url https://api.example.com/browsers/{id}/wait-for-node/ \
--header 'Content-Type: application/json' \
--data '
{
"selector": "<string>",
"timeout_ms": 123
}
'import requests
url = "https://api.example.com/browsers/{id}/wait-for-node/"
payload = {
"selector": "<string>",
"timeout_ms": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({selector: '<string>', timeout_ms: 123})
};
fetch('https://api.example.com/browsers/{id}/wait-for-node/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/browsers/{id}/wait-for-node/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'selector' => '<string>',
'timeout_ms' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/browsers/{id}/wait-for-node/"
payload := strings.NewReader("{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/browsers/{id}/wait-for-node/")
.header("Content-Type", "application/json")
.body("{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/browsers/{id}/wait-for-node/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"selector\": \"<string>\",\n \"timeout_ms\": 123\n}"
response = http.request(request)
puts response.read_body{
"node_id": 123
}Description
Blocks until a DOM element matching the given CSS selector appears on the page, or until the timeout is reached. Useful after navigation or dynamic content loads.Authentication
Open-source deployments do not require authentication by default. If your server config enablesX-API-Key, include that header with the request.
Path Parameters
The browser ID returned from Create Session.
Request Body
CSS selector for the element to wait for.
Maximum time to wait in milliseconds. Defaults to
5000.Response
The node ID of the matched element once it appears.
Example
curl -X POST http://localhost:8080/browsers/exc-b9534e98-c3ce-4d1b-9671-b563ac66adc3/wait-for-node/ \
-H "Content-Type: application/json" \
-d '{ "selector": "#example", "timeout_ms": 5000 }'
⌘I

