{"observation":{"id":"68b46705-a3f5-48fb-807c-b5ce0de53ccb","tool":"firecrawl","tool_name":"Firecrawl","criterion":"js-dom-hydration","criterion_name":"JS DOM Hydration","criterion_definition":"How well the tool waits for and captures content rendered by client-side JavaScript on dynamic pages.","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"Capturing JavaScript-rendered content is a core scraping capability for modern web pages. (3 of 3 judges)","scenario":"nike-air-force-1-07-size-options-extraction","scenario_name":"Nike Air Force 1 '07 size options extraction","group_tag":null,"scenario_description":"A Nike product page with client-side JavaScript hydration used to test whether a headless scraper waits for dynamic DOM content before extracting product details and all available shoe sizes.","modality":"mixed","input_text":"https://www.nike.com/t/air-force-1-07-mens-shoes-jBrhbr/CW2288-111 — Wait for the size selection options to fully render. Extract the product name, price, and a list of all available shoe sizes.","input_artifact_refs":[],"stresses":[],"verdict":"worked","score":null,"score_total":null,"note":"Waits through client-side hydration and captures the dynamically loaded size inventory, spanning the full visible range from M 5 / W 6.5 through M 18 / W 19.5.","evidence_state":"observed","source":"first-party","artifacts":[],"run_id":"06e1dbd6-5518-4af8-aa1a-735259a75b4f","study_title":"Scrape Web Pages Into Clean Markdown or Structured Data Using AI","study_kind":"backfill","research_task":"86b9jm3a3","tested_at":"2026-06-23T04:32:57.304000+00:00","completeness":"input-only","input":{"state":"text","text":"https://www.nike.com/t/air-force-1-07-mens-shoes-jBrhbr/CW2288-111 — Wait for the size selection options to fully render. Extract the product name, price, and a list of all available shoe sizes.","files":[],"modality":"mixed","stresses":[]},"tool_page_slug":"firecrawl","tool_url":"https://aidemos.com/tools/firecrawl","permalink":"https://aidemos.com/evidence/68b46705-a3f5-48fb-807c-b5ce0de53ccb","api_url":"https://ai.aidemos.com/v1/observations/68b46705-a3f5-48fb-807c-b5ce0de53ccb"},"peers":[{"id":"d6a37898-46aa-424c-8ed2-cacb300ba94b","tool":"jina-ai-reader","tool_name":"Jina AI Reader","verdict":"failed","score":null,"score_total":null,"note":"It did not capture the client-rendered size selector; after 7.0 s the extract still lacked the live size grid and showed only static page content.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/jina-ai-reader-jina-reader-nike-product-extraction.png","evidence_url":"https://aidemos.com/evidence/d6a37898-46aa-424c-8ed2-cacb300ba94b"},{"id":"ffd61b21-8c43-4795-bacb-ffa1d87744aa","tool":"skyvern","tool_name":"Skyvern","verdict":"worked","score":null,"score_total":null,"note":"Waits for the client-rendered product page to hydrate and extracts the size grid instead of stopping at the initial shell.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/skyvern-skyvern-extract-nike-af1-product-data.png","evidence_url":"https://aidemos.com/evidence/ffd61b21-8c43-4795-bacb-ffa1d87744aa"},{"id":"b3fb32f1-4d48-4b61-89b4-4e42d4c5910e","tool":"spider","tool_name":"Spider","verdict":"failed","score":null,"score_total":null,"note":"Does not wait for client-side hydration long enough; it can capture the title and price but misses the size-selection UI entirely, leaving zero available sizing attributes.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/spider-spider-playground-nike-air-force-scrape.png","evidence_url":"https://aidemos.com/evidence/b3fb32f1-4d48-4b61-89b4-4e42d4c5910e"}],"other_criteria":[{"id":"21e8e376-de63-47cd-827a-89a5a96abeec","criterion":"input-handling","criterion_name":"Input Handling","rank_role":"context","verdict":"worked","score":null,"score_total":null,"note":"Accepted the dynamic Nike product URL through the standard scrape path and started extraction without routing or access errors.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/21e8e376-de63-47cd-827a-89a5a96abeec"},{"id":"e41889fa-4519-4c96-9183-067dad4dbeb5","criterion":"interaction-stability","criterion_name":"Interaction Stability","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Reliably waited for client-side hydration and captured the complete size set, from M 5 / W 6.5 through M 18 / W 19.5.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/e41889fa-4519-4c96-9183-067dad4dbeb5"},{"id":"eb1e2302-fa59-4589-9f78-db736c2d5f77","criterion":"output-quality","criterion_name":"Output Quality","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Captures the title, pricing, and inventory layout, but the output still includes raw backend code artifacts, media-matrix noise, and uncleaned global link trees.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/eb1e2302-fa59-4589-9f78-db736c2d5f77"},{"id":"b54b7daf-85c7-404e-951e-ec5595932d41","criterion":"visual-spatial-awareness","criterion_name":"Visual Spatial Awareness","rank_role":"decisive","verdict":"struggled","score":null,"score_total":null,"note":"The output kept the target product data but failed to clean surrounding page chrome, packing in global localization links, background asset tags, and raw image URL trees.","artifact_count":0,"evidence_url":"https://aidemos.com/evidence/b54b7daf-85c7-404e-951e-ec5595932d41"},{"id":"4ba47174-542a-4fdc-97a7-75628aa25ed2","criterion":"visual-spatial-awareness","criterion_name":"Visual Spatial Awareness","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Can surface the hydrated inventory information, but does not clean surrounding layout noise such as localization links, background asset tags, and raw image URL trees.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/4ba47174-542a-4fdc-97a7-75628aa25ed2"}],"appears_in":[{"page_type":"ranking","slug":"ai-web-scraping-tools","title":"Best AI Tools to Scrape Web Pages Into Clean Markdown or Structured Data","url":"https://aidemos.com/best/ai-web-scraping-tools","binding":"run"}],"same_scenario":[{"id":"d6a37898-46aa-424c-8ed2-cacb300ba94b","tool":"jina-ai-reader","tool_name":"Jina AI Reader","verdict":"failed","score":null,"score_total":null,"note":"It did not capture the client-rendered size selector; after 7.0 s the extract still lacked the live size grid and showed only static page content."},{"id":"ffd61b21-8c43-4795-bacb-ffa1d87744aa","tool":"skyvern","tool_name":"Skyvern","verdict":"worked","score":null,"score_total":null,"note":"Waits for the client-rendered product page to hydrate and extracts the size grid instead of stopping at the initial shell."},{"id":"b3fb32f1-4d48-4b61-89b4-4e42d4c5910e","tool":"spider","tool_name":"Spider","verdict":"failed","score":null,"score_total":null,"note":"Does not wait for client-side hydration long enough; it can capture the title and price but misses the size-selection UI entirely, leaving zero available sizing attributes."}]}