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
string
required
The browser ID returned from Create Session.
Request Body
string
required
CSS selector for the element to wait for.
integer
Maximum time to wait in milliseconds. Defaults to
5000.Response
integer
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 }'

