The schedule table renders after a 3000ms JavaScript delay, simulating async-loaded content. Use ?delay=5000 to increase the delay or ?randomize=true to randomize the container ID on each load. STATIC extraction fires before the DOM is ready and finds nothing; LLM_DOM with the page snapshot captures the final rendered state.
?randomize=true, the container ID changes every load, so even if timing were correct, a hardcoded @id XPath would missLLM_DOM receives the snapshot taken after the page settles, so the full table is in the serialized HTML{
"action": "EXTRACT_DATAMODEL",
"parameters": {
"execution": "LLM_DOM",
"extract_data_model": {
"type": "object",
"properties": {
"appointments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"appt_id": { "type": "string" },
"patient": { "type": "string" },
"provider": { "type": "string" },
"time": { "type": "string" },
"type": { "type": "string" }
}
}
}
}
}
}
}