{
  "version": "1.0.0",
  "exported_at": "2026-06-01T19:35:00.000Z",
  "project": {
    "name": "Amazon Review Scraperfor Spain",
    "description": "Scrapes Amazon Spain product reviews for ASIN B07MYK38P4, exporting product title, product URL, ASIN, average score, rating count, reviewer name, rating, review title, location, date, review content, and helpful vote amount. The workflow starts from the canonical /dp/ASIN page, scrolls to reviews, opens the all-reviews page when available, exports review rows, and paginates with Amazon's enabled Next button. Because the supplied Octoparse sample URLs returned Amazon 404/unavailable content and automated tests found no review rows, this version includes a diagnostic fallback row when Amazon serves an unavailable, blocked, CAPTCHA, no-review, or changed-markup page.",
    "color": "bg-[#ff9900]",
    "template_id": "ai-generated"
  },
  "blocks": [
    {
      "block_id": "set-window-size-1",
      "block_type": "process",
      "title": "Set Window Size",
      "description": "Set browser viewport size",
      "position_x": 120,
      "position_y": 220,
      "config": {
        "width": 1920,
        "height": 1080,
        "color": "bg-[#4589ff]"
      }
    },
    {
      "block_id": "navigate-1",
      "block_type": "process",
      "title": "Navigate",
      "description": "Go to a URL",
      "position_x": 456,
      "position_y": 220,
      "config": {
        "url": "https://www.amazon.es/dp/B07MYK38P4",
        "color": "bg-[#4589ff]"
      }
    },
    {
      "block_id": "wait-for-page-load-1",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 792,
      "position_y": 220,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "element-exists-1",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 1128,
      "position_y": 220,
      "config": {
        "selector": "#sp-cc-accept, input[name='accept'], button[name='accept']",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "click-1",
      "block_type": "process",
      "title": "Click",
      "description": "Click on element",
      "position_x": 1464,
      "position_y": 520,
      "config": {
        "selector": "#sp-cc-accept, input[name='accept'], button[name='accept']",
        "timeout": 10,
        "color": "bg-[#a56eff]"
      }
    },
    {
      "block_id": "sleep-1",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 1800,
      "position_y": 520,
      "config": {
        "duration": 1,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "sleep-2",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 2136,
      "position_y": 520,
      "config": {
        "duration": 3,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "scroll-1",
      "block_type": "process",
      "title": "Scroll",
      "description": "Scroll the page",
      "position_x": 2472,
      "position_y": 520,
      "config": {
        "direction": "down",
        "amount": 1800,
        "color": "bg-[#a56eff]"
      }
    },
    {
      "block_id": "sleep-3",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 2808,
      "position_y": 520,
      "config": {
        "duration": 2,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "element-exists-2",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 3144,
      "position_y": 520,
      "config": {
        "selector": "a[data-hook='see-all-reviews-link-foot'], #reviews-medley-footer a.a-link-emphasis, a[href*='/product-reviews/B07MYK38P4'], a[href*='/product-reviews/'][href*='reviewerType=all_reviews']",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "click-2",
      "block_type": "process",
      "title": "Click",
      "description": "Click on element",
      "position_x": 3480,
      "position_y": 520,
      "config": {
        "selector": "a[data-hook='see-all-reviews-link-foot'], #reviews-medley-footer a.a-link-emphasis, a[href*='/product-reviews/B07MYK38P4'], a[href*='/product-reviews/'][href*='reviewerType=all_reviews']",
        "timeout": 15,
        "color": "bg-[#a56eff]"
      }
    },
    {
      "block_id": "wait-for-page-load-2",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 3816,
      "position_y": 520,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "sleep-4",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 4152,
      "position_y": 520,
      "config": {
        "duration": 3,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "element-exists-3",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 4488,
      "position_y": 520,
      "config": {
        "selector": "[data-hook='review'], #cm_cr-review_list div.review",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "element-exists-4",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 3144,
      "position_y": 520,
      "config": {
        "selector": "[data-hook='review'], #cm_cr-review_list div.review",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "navigate-2",
      "block_type": "process",
      "title": "Navigate",
      "description": "Go to a URL",
      "position_x": 4488,
      "position_y": 520,
      "config": {
        "url": "https://www.amazon.es/product-reviews/B07MYK38P4/?ie=UTF8&reviewerType=all_reviews&pageNumber=1",
        "color": "bg-[#4589ff]"
      }
    },
    {
      "block_id": "wait-for-page-load-3",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 1632,
      "position_y": 800,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "sleep-5",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 1968,
      "position_y": 800,
      "config": {
        "duration": 3,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "element-exists-5",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 2304,
      "position_y": 800,
      "config": {
        "selector": "[data-hook='review'], #cm_cr-review_list div.review",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "wait-for-element-1",
      "block_type": "process",
      "title": "Wait for Element",
      "description": "Wait until element appears",
      "position_x": 4824,
      "position_y": 520,
      "config": {
        "selector": "[data-hook='review'], #cm_cr-review_list div.review",
        "timeout": 20,
        "visible": true,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "structured-export-1",
      "block_type": "process",
      "title": "Structured Export",
      "description": "Export data with custom columns",
      "position_x": 5160,
      "position_y": 520,
      "config": {
        "rowSelector": "[data-hook='review'], #cm_cr-review_list div.review",
        "fileName": "amazon-espana-resenas-scraper.csv",
        "saveLocation": "C:\\Users\\theskd\\Documents\\UScraper\\templates",
        "includeHeaders": true,
        "fileMode": "append",
        "color": "bg-[#42be65]",
        "columns": [
          {
            "name": "titulo_de_producto",
            "selector": "(() => { const el = document.querySelector('[data-hook=\"product-link\"], #cm_cr-product_info a.a-link-normal, a[data-hook=\"product-link\"], #productTitle'); return el ? el.textContent.trim().replace(/\\s+/g, ' ') : ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "producto_url",
            "selector": "(() => { const a = document.querySelector('[data-hook=\"product-link\"], #cm_cr-product_info a.a-link-normal, a[data-hook=\"product-link\"]'); if (a && a.href) return a.href; const m = location.href.match(/(?:product-reviews|dp)\\/([A-Z0-9]{10})/i); return m ? `${location.origin}/dp/${m[1]}` : 'https://www.amazon.es/dp/B07MYK38P4'; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "asin",
            "selector": "(() => { const m = location.href.match(/(?:product-reviews|dp)\\/([A-Z0-9]{10})/i); return m ? m[1] : 'B07MYK38P4'; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "promedio_de_puntuacion",
            "selector": "(() => { const el = document.querySelector('[data-hook=\"average-star-rating\"] .a-icon-alt, [data-hook=\"average-star-rating\"], .averageStarRating .a-icon-alt, #acrPopover .a-icon-alt'); return el ? el.textContent.trim().replace(/\\s+/g, ' ') : ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "cantidad_de_puntuacion",
            "selector": "(() => { const el = document.querySelector('[data-hook=\"total-review-count\"], #filter-info-section span, .totalReviewCount, #acrCustomerReviewText'); if (!el) return ''; const txt = el.textContent.trim().replace(/\\s+/g, ' '); const m = txt.match(/[\\d.,]+/); return m ? m[0] : txt; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "nombre_de_usuario",
            "selector": ".a-profile-name",
            "attribute": "text"
          },
          {
            "name": "calificacion",
            "selector": "[data-hook='review-star-rating'] .a-icon-alt, [data-hook='cmps-review-star-rating'] .a-icon-alt, i.review-rating .a-icon-alt",
            "attribute": "text"
          },
          {
            "name": "titulo_de_resena",
            "selector": "(() => { const title = ROW.querySelector('[data-hook=\"review-title\"], .review-title'); if (!title) return ''; const clone = title.cloneNode(true); clone.querySelectorAll('.a-icon-alt, i').forEach(e => e.remove()); return clone.textContent.trim().replace(/\\s+/g, ' '); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "localidad",
            "selector": "(() => { const el = ROW.querySelector('[data-hook=\"review-date\"], .review-date'); const txt = el ? el.textContent.trim().replace(/\\s+/g, ' ') : ''; let m = txt.match(/Revisado en\\s+(.+?)\\s+el\\s+(.+)/i); if (m) return m[1].trim(); m = txt.match(/Reviewed in\\s+(.+?)\\s+on\\s+(.+)/i); return m ? m[1].trim() : ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "fecha",
            "selector": "(() => { const el = ROW.querySelector('[data-hook=\"review-date\"], .review-date'); const txt = el ? el.textContent.trim().replace(/\\s+/g, ' ') : ''; let m = txt.match(/Revisado en\\s+(.+?)\\s+el\\s+(.+)/i); if (m) return m[2].trim(); m = txt.match(/Reviewed in\\s+(.+?)\\s+on\\s+(.+)/i); return m ? m[2].trim() : txt; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "contenido_de_resena",
            "selector": "[data-hook='review-body'] span, [data-hook='review-body'], .review-text-content span, .review-text",
            "attribute": "text"
          },
          {
            "name": "cantidad_util",
            "selector": "[data-hook='helpful-vote-statement'], .cr-vote-text",
            "attribute": "text"
          }
        ]
      }
    },
    {
      "block_id": "element-exists-6",
      "block_type": "process",
      "title": "Element Exists",
      "description": "Check if element exists",
      "position_x": 5496,
      "position_y": 520,
      "config": {
        "selector": ".a-pagination li.a-last:not(.a-disabled) a",
        "color": "bg-[#ff832b]"
      }
    },
    {
      "block_id": "click-3",
      "block_type": "process",
      "title": "Click",
      "description": "Click on element",
      "position_x": 5832,
      "position_y": 520,
      "config": {
        "selector": ".a-pagination li.a-last:not(.a-disabled) a",
        "timeout": 10,
        "color": "bg-[#a56eff]"
      }
    },
    {
      "block_id": "wait-for-page-load-4",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 6168,
      "position_y": 520,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "sleep-6",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 6504,
      "position_y": 520,
      "config": {
        "duration": 2,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "wait-for-element-2",
      "block_type": "process",
      "title": "Wait for Element",
      "description": "Wait until element appears",
      "position_x": 6840,
      "position_y": 758,
      "config": {
        "selector": "[data-hook='review'], #cm_cr-review_list div.review",
        "timeout": 20,
        "visible": true,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "structured-export-2",
      "block_type": "process",
      "title": "Structured Export",
      "description": "Export data with custom columns",
      "position_x": 2640,
      "position_y": 800,
      "config": {
        "rowSelector": "body",
        "fileName": "amazon-espana-resenas-scraper.csv",
        "saveLocation": "C:\\Users\\theskd\\Documents\\UScraper\\templates",
        "includeHeaders": true,
        "fileMode": "append",
        "color": "bg-[#fa4d56]",
        "columns": [
          {
            "name": "titulo_de_producto",
            "selector": "(() => { const el = document.querySelector('[data-hook=\"product-link\"], #cm_cr-product_info a.a-link-normal, a[data-hook=\"product-link\"], #productTitle, title'); const txt = el ? el.textContent.trim().replace(/\\s+/g, ' ') : document.title; return txt || 'Documento no encontrado / página no disponible'; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "producto_url",
            "selector": "(() => location.href || 'https://www.amazon.es/dp/B07MYK38P4')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "asin",
            "selector": "(() => { const m = location.href.match(/(?:product-reviews|dp)\\/([A-Z0-9]{10})/i); return m ? m[1] : 'B07MYK38P4'; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "promedio_de_puntuacion",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "cantidad_de_puntuacion",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "nombre_de_usuario",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "calificacion",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "titulo_de_resena",
            "selector": "(() => 'NO_REVIEW_ROWS_FOUND')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "localidad",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "fecha",
            "selector": "(() => new Date().toISOString().slice(0, 10))()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "contenido_de_resena",
            "selector": "(() => { const txt = document.body ? document.body.innerText.trim().replace(/\\s+/g, ' ').slice(0, 500) : ''; return 'No Amazon review rows were found for ASIN B07MYK38P4. Amazon may have returned an unavailable/404 page, CAPTCHA, robot check, no-review page, or changed markup. Page text preview: ' + txt; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "cantidad_util",
            "selector": "(() => '')()",
            "attribute": "text",
            "isJs": true
          }
        ]
      }
    },
    {
      "block_id": "end-1",
      "block_type": "output",
      "title": "End",
      "description": "Terminate execution flow",
      "position_x": 5496,
      "position_y": 520,
      "config": {
        "color": "bg-[#8d8d8d]"
      }
    }
  ],
  "connections": [
    {
      "from_block_id": "set-window-size-1",
      "from_connector_id": "right",
      "to_block_id": "navigate-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "navigate-1",
      "from_connector_id": "right",
      "to_block_id": "wait-for-page-load-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-page-load-1",
      "from_connector_id": "right",
      "to_block_id": "element-exists-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-1",
      "from_connector_id": "true",
      "to_block_id": "click-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-1",
      "from_connector_id": "false",
      "to_block_id": "sleep-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "click-1",
      "from_connector_id": "right",
      "to_block_id": "sleep-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-1",
      "from_connector_id": "right",
      "to_block_id": "sleep-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-2",
      "from_connector_id": "right",
      "to_block_id": "scroll-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "scroll-1",
      "from_connector_id": "right",
      "to_block_id": "sleep-3",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-3",
      "from_connector_id": "right",
      "to_block_id": "element-exists-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-2",
      "from_connector_id": "true",
      "to_block_id": "click-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-2",
      "from_connector_id": "false",
      "to_block_id": "element-exists-4",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "click-2",
      "from_connector_id": "right",
      "to_block_id": "wait-for-page-load-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-page-load-2",
      "from_connector_id": "right",
      "to_block_id": "sleep-4",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-4",
      "from_connector_id": "right",
      "to_block_id": "element-exists-3",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-3",
      "from_connector_id": "true",
      "to_block_id": "wait-for-element-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-3",
      "from_connector_id": "false",
      "to_block_id": "navigate-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-4",
      "from_connector_id": "true",
      "to_block_id": "wait-for-element-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-4",
      "from_connector_id": "false",
      "to_block_id": "navigate-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "navigate-2",
      "from_connector_id": "right",
      "to_block_id": "wait-for-page-load-3",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-page-load-3",
      "from_connector_id": "right",
      "to_block_id": "sleep-5",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-5",
      "from_connector_id": "right",
      "to_block_id": "element-exists-5",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-5",
      "from_connector_id": "true",
      "to_block_id": "wait-for-element-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-5",
      "from_connector_id": "false",
      "to_block_id": "structured-export-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-element-1",
      "from_connector_id": "right",
      "to_block_id": "structured-export-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "structured-export-1",
      "from_connector_id": "right",
      "to_block_id": "element-exists-6",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-6",
      "from_connector_id": "true",
      "to_block_id": "click-3",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "element-exists-6",
      "from_connector_id": "false",
      "to_block_id": "end-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "click-3",
      "from_connector_id": "right",
      "to_block_id": "wait-for-page-load-4",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-page-load-4",
      "from_connector_id": "right",
      "to_block_id": "sleep-6",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-6",
      "from_connector_id": "right",
      "to_block_id": "wait-for-element-2",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-element-2",
      "from_connector_id": "right",
      "to_block_id": "structured-export-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "structured-export-2",
      "from_connector_id": "right",
      "to_block_id": "end-1",
      "to_connector_id": "left"
    }
  ],
  "canvas_elements": [
    {
      "id": "group-entry",
      "element_type": "group",
      "title": "Entry & Setup",
      "color": "#4589ff",
      "position_x": 48,
      "position_y": 116,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "set-window-size-1"
        ]
      }
    },
    {
      "id": "group-load",
      "element_type": "group",
      "title": "Page Load",
      "color": "#08bdba",
      "position_x": 384,
      "position_y": 116,
      "width": 6704,
      "height": 876,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "navigate-1",
          "wait-for-page-load-1",
          "sleep-1",
          "sleep-2",
          "sleep-3",
          "wait-for-page-load-2",
          "sleep-4",
          "navigate-2",
          "wait-for-page-load-3",
          "sleep-5",
          "wait-for-element-1",
          "wait-for-page-load-4",
          "sleep-6",
          "wait-for-element-2"
        ]
      }
    },
    {
      "id": "group-pagination",
      "element_type": "group",
      "title": "Pagination Loop",
      "color": "#ff832b",
      "position_x": 1056,
      "position_y": 116,
      "width": 5024,
      "height": 876,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "element-exists-1",
          "click-1",
          "element-exists-2",
          "click-2",
          "element-exists-3",
          "element-exists-4",
          "element-exists-5",
          "element-exists-6",
          "click-3"
        ]
      }
    },
    {
      "id": "group-interaction",
      "element_type": "group",
      "title": "Interaction",
      "color": "#a56eff",
      "position_x": 2400,
      "position_y": 416,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "scroll-1"
        ]
      }
    },
    {
      "id": "group-extract",
      "element_type": "group",
      "title": "Data Extraction",
      "color": "#42be65",
      "position_x": 2568,
      "position_y": 416,
      "width": 2840,
      "height": 576,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "structured-export-1",
          "structured-export-2"
        ]
      }
    },
    {
      "id": "group-control",
      "element_type": "group",
      "title": "Control Flow",
      "color": "#8d8d8d",
      "position_x": 5424,
      "position_y": 416,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "end-1"
        ]
      }
    },
    {
      "id": "note-overview",
      "element_type": "note",
      "title": "Overview",
      "content": "Scrapes Amazon Spain product reviews for ASIN B07MYK38P4, exporting product title, product URL, ASIN, average score, rating count, reviewer name, rating, review title, location, date, review content, and helpful vote amount. The workflow starts from the canonical /dp/ASIN page, scrolls to reviews, opens the all-reviews page when available, exports review rows, and paginates with Amazon's enabled Next button. Because the supplied Octoparse sample URLs returned Amazon 404/unavailable content and automated tests found no review rows, this version includes a diagnostic fallback row when Amazon serves an unavailable, blocked, CAPTCHA, no-review, or changed-markup page.",
      "color": "#f1c21b",
      "position_x": 80,
      "position_y": 20,
      "width": 480,
      "height": 160,
      "z_index": 22,
      "data": {}
    },
    {
      "id": "note-block-element-exists-1",
      "element_type": "note",
      "title": "Note: Element Exists",
      "content": "Condition block: checks `#sp-cc-accept, input[name='accept'], button[name='accept']`. True / False branches control which path runs next. Keep enough space between branches so both connector lines are visible.",
      "color": "#ee5396",
      "position_x": 1328,
      "position_y": 200,
      "width": 340,
      "height": 149,
      "z_index": 22,
      "data": {
        "block_id": "element-exists-1"
      }
    },
    {
      "id": "note-block-element-exists-2",
      "element_type": "note",
      "title": "Note: Element Exists",
      "content": "Condition block: checks `a[data-hook='see-all-reviews-link-foot'], #reviews-medley-footer a.a-link-emphasis, a[href*='/product-reviews/B07MYK38P4`. True / False branches control which path runs next. Keep enough space between branches so both connector lines are visible.",
      "color": "#ee5396",
      "position_x": 3344,
      "position_y": 500,
      "width": 340,
      "height": 170,
      "z_index": 22,
      "data": {
        "block_id": "element-exists-2"
      }
    },
    {
      "id": "note-block-structured-export-1",
      "element_type": "note",
      "title": "Note: Structured Export",
      "content": "Structured export with JS columns (titulo_de_producto, producto_url, asin, promedio_de_puntuacion, cantidad_de_puntuacion). These selectors are fragile — update if the site layout changes.",
      "color": "#ee5396",
      "position_x": 5360,
      "position_y": 500,
      "width": 340,
      "height": 142,
      "z_index": 22,
      "data": {
        "block_id": "structured-export-1"
      }
    },
    {
      "id": "note-block-element-exists-6",
      "element_type": "note",
      "title": "Note: Element Exists",
      "content": "Condition block: checks `.a-pagination li.a-last:not(.a-disabled) a`. True / False branches control which path runs next. Keep enough space between branches so both connector lines are visible.",
      "color": "#ee5396",
      "position_x": 5696,
      "position_y": 500,
      "width": 340,
      "height": 144,
      "z_index": 22,
      "data": {
        "block_id": "element-exists-6"
      }
    },
    {
      "id": "note-block-structured-export-2",
      "element_type": "note",
      "title": "Note: Structured Export",
      "content": "Structured export with JS columns (titulo_de_producto, producto_url, asin, promedio_de_puntuacion, cantidad_de_puntuacion). These selectors are fragile — update if the site layout changes.",
      "color": "#ee5396",
      "position_x": 2840,
      "position_y": 780,
      "width": 340,
      "height": 142,
      "z_index": 22,
      "data": {
        "block_id": "structured-export-2"
      }
    }
  ]
}