FlowTester
Agent vs. the Web
E-commerce

Can AI Agents buy a laptop online?

We Tested AI Agents on the World's Biggest E-Commerce Sites. Here are the results.

FlowTester Research · February 2026
AI agents working with e-commerce websites

There's a multi-trillion dollar bet being placed on AI agents that can shop for you. McKinsey projects AI agents could mediate $3 trillion to $5 trillion of global consumer commerce by 2030. Google, Anthropic, OpenAI, are all racing to build the agent that becomes your default checkout button.

There's just one inconvenient problem: agents are struggling to use most websites.

We know this because we tested it. We gave 9 AI models, from lightweight to frontier-class, one simple task across 6 of the world's biggest e-commerce sites: search for a laptop, filter by brand, sort by price, add the cheapest to cart, and verify.

A human does this in 90 seconds. Most agents couldn't do it at all.

This is Part 1 of our Agent vs. The Web series. Real sites. Real models. Real failures, recorded step by step. And every issue comes with a concrete recommendation for how to fix it.

The Hype vs. The Reality

The narrative around agentic shopping has exploded. AI-driven traffic grew by more than 200% in 2025 according to Akamai's analysis. OpenClaw , the open-source AI agent formerly known as ClawdBot that went viral this year, has collected over 193,000 GitHub stars and 33,000+ forks, making it the fastest repo to reach 100K stars in GitHub history. People are using it to autonomously browse, compare, and purchase products on the web.

So how often do these agents actually succeed?

A new paper from the Center for AI Safety and Scale AI put hard numbers to the question. Their Remote Labor Index (RLI) tested frontier AI agents including Manus, Grok 4, Claude Sonnet 4.5, GPT-5, ChatGPT agent, and Gemini 2.5 Pro on 240 real-world freelance projects worth over $140,000 in aggregate human labor. The best-performing agent (Manus) completed just 2.5% of tasks at a level a client would accept. The worst scored 0.8%.

MetricValueSource
Best AI agent automation rate (RLI)2.5%Remote Labor Index paper
Top WebArena e-commerce score (controlled env)~60%WebArena benchmark analysis
Projected global agentic commerce by 2030$3T–$5TMcKinsey

Even on WebArena , the academic benchmark specifically designed to test web agents on simulated e-commerce, forums, and CMS sites, the best agents top out around 60% success in a controlled, static environment. When Microsoft researchers introduced real-world noise like pop-ups, slow-loading pages, and session timeouts (WABER study), accuracy for top agents dropped to near-zero in some categories.

So we stopped reading about benchmarks and ran our own tests on the real thing.

The Test

We used FlowTester to run one standardized test across 6 major e-commerce sites and 9 AI models. The test is deliberately simple, the kind of thing any shopper does daily:

steps:
  1: "Go to [website]"
  2: "Search for 'laptop'"
  3: "Select 'Brand' filter and choose 'HP'"
  4: "Sort the results by Price: Low to High"
  5: "Select the cheapest result and add it to the cart"
  6: "Navigate to the cart page and validate the laptop you chose is in the cart"

Six steps. One product. No login required. No checkout. Just: search, filter, sort, add to cart, verify.

The Models

We tested across three tiers to understand how model size and capability affect real-world web performance:

TierModels
LightGemini Flash Lite 2.5 · GPT-5 Nano · Haiku 4.5
BalancedGemini Flash 3 · GPT-5 Mini · Sonnet 4.5
Heavy DutyGemini 3 Pro · GPT-5.1 · Opus 4.6

The Sites

Amazon.com · Best Buy · Target.com · Walmart.com · AliExpress · Temu

Every test was recorded with synchronized video and action logs. You can replay every click, every failure, every moment the agent got lost.

A note on WebMCP: Throughout this article we reference WebMCP, a new specification that allows websites to declare machine-readable tool endpoints for AI agents. WebMCP is very new, and none of the sites we tested have had time to implement it yet. We still check for it because it represents the direction the industry is heading, and early adopters will have a significant advantage as agent traffic scales.

Wondering How Your Site is Handling AI Agents?

Be the first to try out FlowTester and see exactly where AI agents struggle on your site and what to fix first.

The Results

🏆 Amazon.com: The Winner (With Caveats)

Amazon was the only site where all 9 models completed the full task. Sort of. The product search was clean. Filters were accessible. Sorting worked. Add-to-cart succeeded. However the smaller models, chose the cheapest result which was not a laptop, SOTA models made the assumption we're looking for a laptop.

But “winner” comes with a giant asterisk: Amazon is known to block 47 AI bots and has sued Perplexity over unauthorized agent access. Our tests ran in a clean browser environment, and the same conditions wouldn't hold for an unauthenticated agent hitting Amazon at scale. The site that works best for agents is also the one most aggressively blocking them.

Follow Gemini Pro 3 finding an affordable HP laptop on Amazon.com

Waiting for stream to be ready...

Agent Logs
49 lines
00:00:00Test run started
00:00:00Agent task: 1. Go to amazon.com 2. Search for 'laptop' 3. Select 'Brand' filter and choose 'HP 4. Sort the results by Price: Low to High. 5. Select the cheapest result and add it to the cart. 6. Navigate to the cart page and validate the laptop you chose is in the cart.
00:00:00Agent execution starting...
00:00:08Navigated to https://amazon.com
00:00:11Step 1:
00:00:19Eval: Navigated to amazon.com successfully. Verdict: Success
00:00:19Memory: Started test on Amazon.com. Current step: Search for 'laptop'. No issues detected yet, but I'm monitoring for AI readiness.
00:00:19Next goal: Search for 'laptop' using the search bar.
00:00:21Typed "laptop" into element with index 27
00:00:23Clicked input type=submit id=nav-search-submit-bu
00:00:24Step 2:
00:00:32Eval: Search for 'laptop' was successful as indicated by the URL and page content showing results for 'laptop'.
00:00:32Memory: Search for 'laptop' is complete. Next steps are to filter by Brand 'HP', sort by Price: Low to High, add the cheapest item to cart, and verify. I am currently on the search results page.
00:00:32Next goal: Locate and select the 'HP' brand filter from the sidebar.
00:00:35Step 3:
00:00:43Eval: Success. Scrolled down and located the 'Brands' filter section.
00:00:43Memory: I am on the search results page for 'laptop'. I have located the 'HP' brand filter in the sidebar. The page structure seems standard, and the filter has an appropriate aria-label.
00:00:43Next goal: Click the 'HP' brand filter to narrow down the results.
00:00:45Clicked a role=link "HP" aria-label=Apply HP filter to n
00:00:48Step 4:
00:00:56Eval: Successfully applied the 'HP' brand filter. Verdict: Success
00:00:56Memory: I am on the Amazon search results page for 'laptop' with 'HP' brand filter applied. I need to sort by price low to high, add the cheapest item to cart, and verify. I've noticed Amazon uses custom dropdowns which might be tricky for some agents if not properly labeled, but this one seems accessible.
00:00:56Next goal: Open the sort dropdown menu.
00:00:57Clicked span "Sort by: Featured" id=a-autoid-21-announce
00:01:00Step 5:
00:01:08Eval: Successfully opened the sort dropdown menu. Verdict: Success
00:01:08Memory: I am on the Amazon search results page for 'laptop' with 'HP' brand filter applied. I have just opened the sort menu. Next, I will sort by price low to high.
00:01:08Next goal: Select 'Price: Low to High' from the dropdown menu.
00:01:09Clicked a role=option "Price: Low to High" id=s-result-sort-select
00:01:12Step 6:
00:01:22Eval: Successfully sorted results by Price: Low to High. Verdict: Success
00:01:22Memory: Sorted by price low to high. The cheapest item is a sleeve, not a laptop. I need to select the first actual laptop. The first laptop is 'HP 3PD94UT Chromebook 11 G6 EE Laptop'.
00:01:22Next goal: Click on the first actual laptop result to view details and add to cart.
00:01:23Clicked a "HP 3PD94UT Chromebook 11 G6 EE..."
00:01:25Step 7:
00:01:33Eval: Successfully navigated to the product detail page of the cheapest HP laptop. Verdict: Success
00:01:33Memory: I have filtered for HP laptops, sorted by price low to high, and selected the cheapest option ($54.99). Now adding to cart.
00:01:33Next goal: Add the laptop to the cart and navigate to the cart page.
00:01:34Clicked input type=submit id=add-to-cart-button-u name=submit.add-to-cart-u
00:01:38Step 8:
00:01:46Eval: Successfully added the item to the cart. The page confirms 'Added to cart'. Verdict: Success
00:01:46Memory: I have filtered for HP laptops, sorted by price low to high, selected the cheapest option ($54.99), and added it to the cart. Now I need to go to the cart and verify the item is present before generating the report.
00:01:46Next goal: Navigate to the cart page.
00:01:48Clicked a "Go to Cart"
00:01:49Step 9:
00:02:10Eval: Successfully navigated to the cart page. Verdict: Success
00:02:10Memory: Verified that the correct laptop ('HP 3PD94UT Chromebook 11 G6 EE Laptop') is in the cart at the correct price ($54.99). The task is complete.
00:02:10Next goal: Generate the final TestReport and finish the task.
00:02:19Test run completed
AI Agent Readiness
78/100

Amazon is relatively friendly to AI agents due to consistent navigation patterns and good ARIA labeling on key interactive elements, despite the complex and dynamic nature of the pages. The lack of WebMCP support is the main missing optimization.

Optimization Recommendations
Medium
Webmcp
Implement WebMCP for Core Shopping Actions

Target.com: Well done but slower

Target scored fair on AI agent readiness, and the reasons paint a picture of a site that's halfway there. On the positive side, Target has a comprehensive llms.txt file, good ARIA labeling on key interactive elements like the search bar, buttons, and cart, and functional autocomplete on search. The foundations are solid.

However Target's SPA architecture means skeleton loading screens appear after every action, forcing agents to implement wait strategies before they can interact with anything. The add-to-cart flow is multi-step — requiring more clicks than necessary, which compounds errors for lighter models. An intrusive sign-in popup blocks initial interaction on every fresh session, and robots.txt restricts access to search and cart pages, the exact pages agents need most.

There's no WebMCP implementation, meaning all AI agent interactions must happen through DOM manipulation, the slowest and most error-prone path. For agents, every skeleton loader is a moment of uncertainty, and every extra step in the add-to-cart flow is another chance to lose context. The site would benefit most from adding explicit loading state indicators, simplifying the add-to-cart flow, and implementing WebMCP tool declarations for core commerce actions.

Watch GPT 5 shopping for a low-cost HP laptop on Target.com

Waiting for stream to be ready...

Agent Logs
95 lines
00:00:00Test run started
00:00:00Agent task: 1. Go to target.com 2. Search for 'laptop' 3. Select 'Brand' filter and choose 'HP 4. Sort the results by Price: Low to High. 5. Select the cheapest result and add it to the cart. 6. Navigate to the cart page and validate the laptop you chose is in the cart.
00:00:00Agent execution starting...
00:00:08Navigated to https://target.com
00:00:13Step 1:
00:00:27Eval: Successfully navigated to target.com homepage. The page loaded with a sign-in popup visible. Verdict: Success.
00:00:27Memory: Step 1: On target.com homepage. Need to search for 'laptop', apply HP brand filter, sort by price low to high, add cheapest to cart, and validate cart. Sign-in popup is visible but can be dismissed.
00:00:27Next goal: Create todo.md for tracking, then close the sign-in popup and search for 'laptop' in the search bar.
00:00:28Clicked button aria-label=close
00:00:30Clicked input type=search id=search name=searchTerm aria-label=What can we help you
00:00:31Typed "laptop" into element with index 18
00:00:33Step 2:
00:00:42Eval: Successfully typed 'laptop' in the search bar and closed the sign-in popup. Autocomplete suggestions appeared. Verdict: Success.
00:00:42Memory: Step 2: On target.com homepage with 'laptop' typed in search. Autocomplete dropdown visible with suggestions. Need to submit search by clicking the 'laptop' suggestion or pressing Enter. ISSUE: Sign-in popup appeared on page load requiring dismissal.
00:00:42Next goal: Submit the search for 'laptop' by clicking the first suggestion link for 'laptop'.
00:00:43Clicked a "laptop"
00:00:45Step 3:
00:00:54Eval: Clicked the 'laptop' suggestion and navigated to search results page. Page is still loading with placeholder content. Verdict: Success (navigation), but need to wait for content to load.
00:00:54Memory: Step 3: On target.com search results page for 'laptop' but content is still loading. URL: /s?searchTerm=laptop. Need to wait for page to load, then apply HP brand filter. ISSUES: (1) Sign-in popup on homepage load, (2) Page loading with skeleton/placeholder UI.
00:00:54Next goal: Wait for the search results page to fully load before interacting with filters.
00:00:59Step 4:
00:01:12Eval: Search results page for 'laptop' has loaded successfully with 1,449 results. Filter buttons and popular filters are visible. Verdict: Success.
00:01:12Memory: Step 4: On target.com search results for 'laptop' with 1,449 results. Page fully loaded. Now need to apply HP brand filter. HP is available as a popular filter link. ISSUES: (1) Sign-in popup on load, (2) Skeleton loading before content appears.
00:01:12Next goal: Click the 'HP' popular filter to apply the HP brand filter to search results.
00:01:13Clicked a "HP"
00:01:15Step 5:
00:01:25Eval: Clicked the HP brand filter and page is now loading with the filter applied (URL contains facetedValue parameter). Verdict: Success, but page still loading.
00:01:25Memory: Step 5: Applied HP brand filter on target.com laptop search. Page is loading with skeleton UI. URL shows facetedValue=p6y7m indicating HP filter applied. Next: wait for page load, then sort by Price: Low to High. ISSUES: (1) Sign-in popup on load, (2) Skeleton loading delays, (3) Page shows "Loading..." after filter application.
00:01:25Next goal: Wait for the HP-filtered search results page to fully load before applying sort.
00:01:29Step 6:
00:01:40Eval: HP brand filter applied successfully. Page loaded with 722 HP laptop results. Filter shows "Brand (1)" and HP tag is visible. Verdict: Success.
00:01:40Memory: Step 6: On target.com search results for 'laptop' with HP filter applied (722 results). Need to sort by Price: Low to High next. Current prices visible: $589.99, $729.99, $639.99, $229.99. ISSUES: (1) Sign-in popup on page load, (2) Skeleton loading on filter/search, (3) Some filter buttons appear duplicated in DOM.
00:01:40Next goal: Click the Sort button to open the sort options dropdown, then select 'Price: Low to High'.
00:01:42Clicked button "Sort" aria-label=Sort
00:01:43Step 7:
00:01:53Eval: Clicked the Sort button and the sort dialog opened successfully with radio button options visible. Verdict: Success.
00:01:53Memory: Step 7: Sort dialog is open on target.com HP laptop search (722 results). Selecting "Price: low to high" and clicking Apply. ISSUES: (1) Sign-in popup on homepage load, (2) Skeleton loading on search/filter, (3) Sort is a dialog panel not native select element.
00:01:53Next goal: Select the 'Price: low to high' radio button and click Apply to sort results.
00:01:54Clicked input type=radio id=PriceLow-price-low t name=radio-sort-by
00:01:55Clicked button "Apply"
00:01:58Step 8:
00:02:10Eval: Selected 'Price: low to high' radio button and clicked Apply. Page is now loading with the sort applied (URL shows sortBy=PriceLow). Verdict: Success, but page still loading.
00:02:10Memory: Step 8: Sort by Price Low to High applied successfully. URL confirms sortBy=PriceLow and facetedValue=p6y7m (HP filter). Page is in loading state with skeleton UI. Need to wait for content to load, then click the first (cheapest) result. ISSUES: (1) Sign-in popup on load, (2) Skeleton loading on search/filter/sort, (3) Sort uses dialog panel.
00:02:10Next goal: Wait for the sorted search results to fully load so I can identify and click the cheapest HP laptop.
00:02:14Step 9:
00:02:26Eval: Search results page loaded successfully with 722 HP laptops sorted by Price: Low to High. Cheapest item is $94.00 - Refurbished HP Chromebook 11A G8 EE. Verdict: Success.
00:02:26Memory: Step 9: On target.com search results for 'laptop' with HP filter and Price Low to High sort. 722 results. Cheapest is "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage" at $94.00. Now adding to cart. Product name to validate in cart: "Refurbished HP Chromebook 11A G8 EE". ISSUES: (1) Sign-in popup on load, (2) Skeleton loading delays, (3) Sort uses dialog panel instead of native select.
00:02:26Next goal: Click the 'Add to cart' button for the cheapest HP laptop ($94.00 - Refurbished HP Chromebook 11A G8 EE).
00:02:27Clicked button "Add to cart" id=addToCartButtonOrTex aria-label=Add Refurbished HP C
00:02:29Step 10:
00:02:40Eval: Clicked 'Add to cart' for the cheapest HP laptop ($94.00) and a "Choose options" dialog appeared showing the product details. Verdict: Partial success - dialog opened but item not yet added to cart.
00:02:40Memory: Step 10: "Choose options" dialog is open for Refurbished HP Chromebook 11A G8 EE at $94.00. Need to click the "Add to cart" button in this dialog (index 32770) to actually add to cart. Product: "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished)" at $94.00. ISSUES so far: (1) Sign-in popup on load, (2) Skeleton loading delays, (3) Sort uses dialog panel, (4) Add to cart opens "Choose options" dialog instead of directly adding.
00:02:40Next goal: Click the 'Add to cart' button in the Choose options dialog to add the cheapest HP laptop to the cart.
00:02:41Clicked button "Add to cart" id=addToCartButtonOrTex aria-label=Add to cart for Refu
00:02:43Step 11:
00:02:55Memory: Step 11: On target.com search results with Choose options dialog open for Refurbished HP Chromebook 11A G8 EE at $94.00. Add to cart button shows "Loading content" spinner. Need to wait for loading to complete. Product: "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished)" at $94.00. ISSUES: (1) Sign-in popup on load, (2) Skeleton loading delays, (3) Sort uses dialog panel, (4) Add to cart opens Choose options dialog, (5) Add to cart button shows loading state.
00:02:55Next goal: Wait for the Add to cart button to finish loading, then check if item was added successfully.
00:02:59Step 12:
00:03:12Eval: Item was successfully added to cart. The "Added to cart" confirmation dialog is now visible showing "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished)" at $94.00. Verdict: Success.
00:03:12Memory: Step 12: Item added to cart successfully! "Added to cart" dialog confirmed. Product: Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished) at $94.00. Now need to close dialog and navigate to cart page to validate. ISSUES: (1) Sign-in popup on homepage load, (2) Skeleton loading delays on search/filter/sort, (3) Sort uses dialog panel, (4) Add to cart opens Choose options dialog first, (5) Protection plan upsell before cart access.
00:03:12Next goal: Close the "Added to cart" dialog and navigate to the cart page to validate the item.
00:03:13Clicked button aria-label=close
00:03:15Step 13:
00:03:28Eval: Successfully closed the "Added to cart" dialog. Back on search results page with cart showing 1 item. Verdict: Success.
00:03:28Memory: Step 13: Closed added-to-cart dialog. Cart icon shows 1 item. Need to navigate to cart to validate. Product added: "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished)" at $94.00. ISSUES: (1) Sign-in popup on homepage load, (2) Skeleton loading delays, (3) Sort uses dialog panel, (4) Add to cart opens Choose options dialog, (5) Protection plan upsell, (6) Multi-step add-to-cart flow.
00:03:28Next goal: Click the cart icon to navigate to the cart page and validate the HP laptop is in the cart.
00:03:30Clicked a "1" aria-label=cart 1 item
00:03:33Step 14:
00:03:54Eval: Clicked the cart icon and navigated to cart page (https://www.target.com/cart). Page is loading with skeleton placeholders visible. Verdict: Partial success - navigated but content not yet loaded.
00:03:54Memory: Step 14: On cart page at target.com/cart. Page is loading with skeleton UI (gray boxes). Need to wait for content to load to validate the Refurbished HP Chromebook 11A G8 EE at $94.00 is in cart. ISSUES: (1) Sign-in popup on homepage, (2) Skeleton loading delays throughout, (3) Sort uses dialog, (4) Multi-step add-to-cart flow, (5) Cart page SPA loading delay.
00:03:54Next goal: Wait for the cart page to fully load so I can validate the HP laptop is in the cart.
00:03:58Step 15:
00:04:14Eval: Cart page loaded successfully. The Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished) at $94.00 is confirmed in the cart with 1 item and $94.00 subtotal. Verdict: Success.
00:04:14Memory: Step 15: Cart validation COMPLETE. Item in cart: "Refurbished HP Chromebook 11A G8 EE AMD A4-9120C (1.6 GHz) 4 GB, 32 GB eMMC storage (Manufacturer Refurbished)" at $94.00, qty 1, subtotal $94.00. All 6 task steps completed successfully. Need to check robots.txt/WebMCP for AI readiness assessment, then generate final report.
00:04:14Next goal: Check robots.txt for AI crawler policies before generating the final test report.
00:04:15Step 16:
00:04:28Eval: Successfully navigated to robots.txt page. Content is visible showing User-agent: * with many Disallow rules including /s? and /cart. Verdict: Success.
00:04:28Memory: Step 16: On robots.txt page. Key findings: User-agent: * blocks /s? (search) and /cart pages. No specific AI crawler rules visible yet. Need to scroll down to check for GPTBot/ClaudeBot rules. All 6 test steps completed successfully. Product in cart: Refurbished HP Chromebook 11A G8 EE at $94.00.
00:04:28Next goal: Scroll down to see the rest of robots.txt for AI crawler rules, then check llms.txt and WebMCP.
00:04:31Step 17:
00:04:48Eval: Successfully scrolled through robots.txt. Key findings: User-agent: * blocks /s? (search), /cart, /shop/, /account/, /tracking, and many other paths. No specific AI crawler rules (GPTBot, ClaudeBot, etc.). Verdict: Success.
00:04:48Memory: Step 17: Reviewed robots.txt. Key findings: (1) User-agent: * blocks /s?, /cart, /shop/, /account/ etc. (2) No AI-specific crawler rules for GPTBot/ClaudeBot. (3) Search and cart pages blocked for all bots. All 6 test steps completed. Product in cart: Refurbished HP Chromebook 11A G8 EE at $94.00. Now checking llms.txt and WebMCP manifest.
00:04:48Next goal: Navigate to llms.txt to check if Target.com provides AI-friendly site summary.
00:04:48Navigated to https://www.target.com/llms.txt
00:04:49Step 18:
00:05:02Eval: Successfully navigated to llms.txt. Target.com HAS a well-structured llms.txt file with site overview, categories, services, owned brands, and URL patterns. Verdict: Success. This is a positive finding for AI crawlability.
00:05:02Memory: Step 18: llms.txt EXISTS on target.com with comprehensive content including site description, URL patterns, categories, services, brands. Robots.txt blocks /s? and /cart for all bots, no AI-specific rules. All 6 test steps completed. Product in cart: Refurbished HP Chromebook 11A G8 EE at $94.00. Need to check WebMCP manifest then generate final report.
00:05:02Next goal: Navigate to /.well-known/webmcp to check for WebMCP manifest, then generate the final test report.
00:05:02Navigated to https://www.target.com/.well-known/webmcp
00:05:02Step 19:
00:06:48Step 20:
00:08:26Eval: Navigated to /.well-known/webmcp and confirmed it returns "page is currently unavailable" - no WebMCP implementation exists. Verdict: Success (confirmed absence).
00:08:26Memory: All 6 test steps COMPLETED. Product in cart: Refurbished HP Chromebook 11A G8 EE at $94.00. AI readiness checks done: robots.txt (blocks /s?, /cart), llms.txt (exists, comprehensive), WebMCP (not implemented). Ready to generate final report.
00:08:26Next goal: Generate the final structured test report with all findings and call done.
00:08:35Test run completed
AI Agent Readiness
62/100

Target.com demonstrates fair AI agent readiness. Positive aspects include a comprehensive llms.txt file, good ARIA labeling on many interactive elements (search bar, buttons, cart), and functional autocomplete on search. However, significant challenges exist: the SPA architecture with skeleton loading requires wait strategies after every action, the multi-step add-to-cart flow adds complexity, an intrusive sign-in popup blocks initial interaction, and robots.txt restricts access to search and cart pages. No WebMCP implementation exists, requiring all AI agent interactions to happen through DOM manipulation. The site would benefit most from adding explicit loading state indicators, simplifying the add-to-cart flow, and implementing WebMCP tool declarations for core commerce actions.

Optimization Recommendations
High
Navigation
Suppress or defer sign-in popup for bot/automated sessions
High
Performance
Add explicit loading state indicators with ARIA live regions
Medium
Navigation
Simplify add-to-cart flow for simple products
Medium
Webmcp
Implement WebMCP tool declarations for core site actions
Medium
Crawlability
Consider allowing AI crawlers access to search result pages
Low
Aria
Add semantic sort control with native select fallback
Low
Crawlability
Implement server-side rendering for key product pages
Low
Crawlability
Add explicit AI crawler rules in robots.txt

AliExpress: Shadow DOM and Pop-Ups

A small detour first: AliExpress doesn't carry HP laptops as a filterable brand, so we swapped the filter step to Lenovo for this site. Same test, different brand.

AliExpress presents significant challenges for AI agents. The SPA architecture serves empty initial HTML, severely limiting AI crawlability. There's essentially nothing for an agent to parse until JavaScript hydrates the page. Worse, critical interactive elements like filter controls and sort dropdowns live inside Shadow DOM with cryptic or missing aria-label attributes, making them nearly invisible to agents relying on accessibility-tree parsing.

Then there are the pop-ups. Multiple intrusive overlays fire on page load — promotional offers, app install prompts, and cookie banners, creating an immediate gauntlet before the agent can even reach the search bar. Some models wasted 10-15 actions trying to dismiss them before giving up or accidentally interacting with a promotion.

The silver lining: once past the pop-ups, the core flow (search, filter, sort, add to cart) is functionally completable. Navigation patterns are somewhat predictable, and pages load within 3-5 seconds. But there's no WebMCP implementation, so all interactions must happen through DOM manipulation. The site needs descriptive aria-label attributes on filter and sort controls, SSR for critical content, pop-up management for automated agents, and WebMCP tool declarations for core e-commerce actions.

See how Claude Opus 4.6 search for a budget-friendly Lenovo laptop on AliExpress.com

Waiting for stream to be ready...

Agent Logs
54 lines
00:00:00Test run started
00:00:00Agent task: 1. Go to aliexpress.com 2. Search for 'laptop' 3. Select 'Brand' filter and choose 'Lenovo' 4. Sort the results by Price: Low to High. 5. Select the cheapest result and add it to the cart. 6. Navigate to the cart page and validate the laptop you chose is in the cart.
00:00:00Agent execution starting...
00:00:13Navigated to https://aliexpress.com
00:00:19Step 1:
00:00:34Eval: Page navigated to aliexpress.com successfully. The page is loading with a notification popup visible. DOM appears empty possibly due to SPA loading. Verdict: Partial success.
00:00:34Memory: Step 1: AliExpress homepage loaded but DOM not fully rendered. Notification popup visible asking to subscribe. Need to wait for page load, dismiss popup, then search for 'laptop'.
00:00:34Next goal: Wait for the page to fully load, then dismiss the notification popup and set up todo tracking.
00:00:40Step 2:
00:00:57Eval: Page loaded with AliExpress homepage visible but obscured by two popups: a notification subscription popup and a "Free gift coming" promotional modal. Verdict: Partial success - page loaded but popups need dismissal.
00:00:57Memory: Step 2: AliExpress homepage loaded with two popups blocking interaction. Need to dismiss "Free gift coming" modal (X button at ~912,186) and notification popup ("Don't allow"). Search bar is visible at top. ISSUE: Multiple popups on page load blocking agent interaction.
00:00:57Next goal: Dismiss the "Free gift coming" promotional modal by clicking its close (X) button.
00:00:58Clicked on coordinate 912, 186
00:01:01Step 3:
00:01:12Eval: Successfully dismissed the "Free gift coming" promotional modal. The homepage is now visible but the notification subscription popup remains. Verdict: Partial success.
00:01:12Memory: Step 3: AliExpress homepage loaded. "Free gift coming" modal dismissed. Notification popup still showing. Need to dismiss it and search for 'laptop'. ISSUES: (1) Multiple popups on page load blocking interaction, (2) Small floating widget at bottom-left corner.
00:01:12Next goal: Dismiss the notification popup by clicking "Don't allow", then search for 'laptop' in the search bar.
00:01:14Clicked div "Don't allow"
00:01:15Typed "laptop" into element with index 28
00:01:18Clicked input type=button role=button aria-label=You can click this b
00:01:23Step 4:
00:01:35Eval: Successfully searched for 'laptop' and landed on search results page. Popups dismissed, search executed, and results are displayed with filters visible on the left sidebar. Verdict: Success.
00:01:35Memory: Step 4: On AliExpress laptop search results page. Filters visible on left: Brand (All, Lenovo, XIAOMI, CHUWI, HONOR). Sort options visible: Best Match, Orders, Price. Need to: (1) Click Lenovo brand filter, (2) Sort by Price Low to High, (3) Select cheapest and add to cart, (4) Validate in cart. ISSUES so far: Multiple popups on page load blocking interaction.
00:01:35Next goal: Click on the 'Lenovo' brand filter radio button to filter results by Lenovo brand.
00:01:36Clicked span "Lenovo" aria-label=2250-4154449
00:01:38Step 5:
00:01:51Eval: Successfully applied the Lenovo brand filter. The search results now show "Brand: Lenovo" tag and only Lenovo laptops are displayed. Verdict: Success.
00:01:51Memory: Step 5: Lenovo brand filter applied successfully. Search results show Lenovo laptops. Current prices visible: $3,945.48 (ThinkBook 16p), $222.91 (Ideapad 1i), $217.23 (14" Business), $189.81 (14" Business). Need to sort by Price Low to High to find cheapest. ISSUES: (1) Multiple popups on page load, (2) Filter radio buttons use cryptic aria-labels like "2250-4154449" instead of descriptive labels.
00:01:51Next goal: Click on the Price sort option to sort results by Price: Low to High.
00:01:52Clicked div "Price"
00:01:53Step 6:
00:02:10Eval: Clicked on Price sort button. The results now appear sorted by price ascending: $189.81, $193.85, $196.99, $217.23, $222.91, $248.28. The Price button appears active with "1↓" indicator. Verdict: Success.
00:02:10Memory: Step 6: Price sort Low to High applied. Cheapest Lenovo laptop is $189.81 - "Lenovo 14" Business Laptop, Intel Celeron N4020, 4GB RAM, 384GB Storage(128GB eMMC+256GB SD Card), Cloud Grey". Need to click it and add to cart. ISSUES: (1) Multiple popups on load, (2) Cryptic aria-labels on filters, (3) Price sort button UX unclear for agents - shows "1↓" icon.
00:02:10Next goal: Click on the cheapest product ($189.81 Lenovo 14" Business Laptop) to navigate to its product detail page.
00:02:11Clicked a "Lenovo 14" Business Laptop,Int...". Note: This opened a new tab (tab_id: 9D04) - switch to it if you need to interact with the new page.
00:02:14Step 7:
00:02:24Eval: Successfully clicked on the cheapest product ($189.81 Lenovo 14" Business Laptop). It opened in a new tab (9D04). Verdict: Success.
00:02:24Memory: Step 7: Clicked cheapest Lenovo laptop ($189.81) which opened in new tab 9D04. Need to switch to that tab, add to cart, then navigate to cart to validate. ISSUES so far: (1) Multiple popups on page load, (2) Cryptic aria-labels on filter radio buttons, (3) Price sort button shows cryptic "1↓" indicator.
00:02:24Next goal: Switch to the product detail tab (9D04) to add the cheapest Lenovo laptop to cart.
00:02:24Step 8:
00:02:35Eval: Successfully switched to the product detail tab (9D04). The Lenovo 14" Business Laptop product page is displayed with price $189.81 and "Add to cart" button visible. Verdict: Success.
00:02:35Memory: Step 8: On product detail page for Lenovo 14" Business Laptop, $189.81, Intel Celeron N4020, 4GB RAM, 384GB Storage. "Add to cart" button at index 394. Need to click it, then go to cart. ISSUES: (1) Multiple popups on page load, (2) Cryptic aria-labels on filters, (3) Price sort indicator unclear, (4) Product opens in new tab without warning.
00:02:35Next goal: Click the "Add to cart" button to add the Lenovo laptop to the shopping cart.
00:02:36Clicked button "Add to cart"
00:02:36Step 9:
00:02:48Eval: Successfully clicked "Add to cart" button. The page shows "Added to cart!" confirmation toast message. Cart icon now shows "1 items in cart". Verdict: Success.
00:02:48Memory: Step 9: Item successfully added to cart - "Added to cart!" toast visible. Cart shows 1 item. Product: Lenovo 14" Business Laptop, $189.81, Intel Celeron N4020, 4GB RAM, 384GB Storage. Need to navigate to cart and validate. ISSUES: (1) Multiple popups on page load, (2) Cryptic aria-labels on filter radio buttons, (3) Price sort indicator unclear, (4) Product opens in new tab, (5) Add to cart success shown as toast that disappears.
00:02:48Next goal: Click the cart icon to navigate to the cart page and validate the Lenovo laptop is in the cart.
00:02:49Clicked a "1 Cart 1" aria-label=1 items in cart.
00:02:51Step 10:
00:04:27Eval: Successfully navigated to the cart page. The Lenovo 14" Business Laptop ($189.81) is confirmed in the cart with correct details: Intel Celeron N4020, 4GB RAM, 384GB Storage, quantity 1, free shipping, estimated total $189.81. Verdict: Success.
00:04:27Memory: All 6 steps complete. Cart validated: Lenovo 14" Business Laptop, $189.81, 1 item in cart. Now generating final test report. Issues found: (1) Multiple popups on load, (2) Cryptic aria-labels on filters, (3) Unclear price sort indicator, (4) New tab opens without warning, (5) Transient toast for add-to-cart, (6) SPA-heavy JS-dependent rendering, (7) No WebMCP.
00:04:27Next goal: Generate the final structured test report with all findings, issues, and recommendations.
00:04:43Test run completed
AI Agent Readiness
52/100

AliExpress presents significant challenges for AI agents. The SPA architecture with empty initial HTML severely limits AI crawlability. Critical interactive elements use Shadow DOM and have cryptic or missing aria-labels (especially filter controls). Multiple intrusive popups on page load create immediate barriers. However, the core user flow (search, filter, sort, add to cart) is functionally completable with workarounds. Navigation patterns are somewhat predictable once popups are dismissed. Performance is acceptable with pages loading within 3-5 seconds. No WebMCP implementation exists, requiring all interactions through DOM manipulation. Key improvements needed: descriptive aria-labels on filters and sort controls, SSR for critical content, popup management for automated agents, and WebMCP tool declarations for core e-commerce actions.

Optimization Recommendations
High
Aria
Use descriptive aria-labels for filter radio buttons
High
Navigation
Reduce or eliminate intrusive popups on page load
Medium
Semantic
Add descriptive aria-label to sort buttons indicating current sort state
Medium
Crawlability
Implement server-side rendering for critical page content
Medium
Aria
Add persistent confirmation state for add-to-cart action
Medium
Semantic
Minimize Shadow DOM usage for critical interactive elements
Low
Navigation
Indicate when links open in new tabs
Medium
Crawlability
Add llms.txt file for AI-friendly site documentation
Medium
Crawlability
Implement WebMCP tool declarations for core site actions

❌ Best Buy: The Site Broke Itself?

Best Buy was the most fascinating failure in our test because the agents did everything right and the site still broke. Basic navigation works: agents could reach the homepage, find the search input (buried inside Shadow DOM, but reachable), and execute a search. The larger models even located the filter panel and attempted to apply brand filters.

Then two critical barriers appeared. First, the SPA product grid fails to render after sort or filter interactions. The page's heavy reliance on client-side JavaScript rendering with Apollo GraphQL means that after applying a filter, agents see empty states, partial loads, or stale results from the previous unfiltered view. The agents can't browse sorted or filtered results because the results simply don't appear. This isn't an agent problem; the website itself can't reliably complete the render.

Second, product detail pages return HTTP/2 protocol errors for automated browsers, completely blocking access to product information and the add-to-cart button. Even if an agent somehow navigated past the broken grid, it couldn't reach the product page.

The details get worse from there. The search input lives in Shadow DOM and fails silently without proper focus management. Multiple filter inputs have incomplete ARIA labels — literally containing placeholder TODO text. There's no WebMCP implementation, and aggressive bot detection adds another layer of friction. Any workflow requiring sort, filter, or product detail access is effectively blocked. Best Buy is one of the most challenging major retail sites for AI agent automation.

Follow Gemini Pro 3 spending 25 minutes debugging BestBuy.com

Waiting for stream to be ready...

Agent Logs
253 lines
00:00:00Test run started
00:00:00Agent task: 1. Go to bestbuy.com 2. Search for 'laptop' 3. In the left sidebar, select 'Brand' filter and choose 'HP 4. Sort the results by Price: Low to High. 5. Select the cheapest result and add it to the cart. 6. Navigate to the cart page and validate the laptop you chose is in the cart.
00:00:00Agent execution starting...
00:00:10Navigated to https://bestbuy.com
00:00:12Step 1:
00:00:25Eval: Successfully navigated to bestbuy.com homepage. The page loaded correctly with search bar visible. Verdict: Success.
00:00:25Memory: Step 1: On bestbuy.com homepage. Need to search for 'laptop', filter by HP brand, sort by price low to high, add cheapest to cart, and validate. Search bar is at index 16 (shadow DOM textarea).
00:00:25Next goal: Create todo.md to track progress and then search for 'laptop' in the search bar.
00:00:26Typed "laptop" into element with index 16
00:00:27Clicked button id=autocomplete-search- aria-label=Search-Button
00:00:28Step 2:
00:00:43Memory: Step 2: On bestbuy.com homepage. Previous attempt to search for 'laptop' failed - shadow DOM textarea didn't accept input. Need to retry search. ISSUE-001: Search input in shadow DOM may resist programmatic input.
00:00:43Next goal: Click on the search bar to focus it, then input 'laptop' text into the search field.
00:00:44Clicked textarea id=autocomplete-search- aria-label=Search
00:00:45Typed "laptop" into element with index 1052
00:00:46Step 3:
00:00:55Eval: Successfully typed 'laptop' into the search bar - the search field now shows "laptop" as confirmed in both the screenshot and browser state (value=laptop). Verdict: Success.
00:00:55Memory: Step 3: Successfully typed 'laptop' in search bar. Now need to click search button to submit. ISSUE-001: Shadow DOM search input required two attempts to accept text input. Search button is at index 1049.
00:00:55Next goal: Click the search button (index 1049) to submit the 'laptop' search query.
00:00:59Clicked button id=autocomplete-search- aria-label=Search-Button
00:01:03Step 4:
00:01:13Eval: Clicked search button and URL navigated to search results page, but the page appears completely blank with no elements loaded. Verdict: Partial success - search submitted but results not rendered.
00:01:13Memory: Step 4: Search submitted, URL is correct (searchpage.jsp?st=laptop) but page is blank/empty - likely SPA still loading or possible bot detection. ISSUES: (1) Shadow DOM search input required retry, (2) Search results page appears empty - possible JS rendering issue. Need to wait and retry.
00:01:13Next goal: Wait for the search results page to load, then check if content appears.
00:01:25Step 5:
00:01:39Eval: After waiting 5 seconds, the search results page loaded successfully with 11,539 laptop results. I can see the left sidebar with various filters (Category, Screen Size, RAM, Price, Processor Model) but need to scroll to find the Brand filter. Verdict: Success.
00:01:39Memory: Step 5: Search results page loaded with 11,539 laptop results. Left sidebar visible with filters. Need to scroll down in sidebar to find Brand filter. ISSUES: (1) Shadow DOM search input required retry, (2) Filter search bar has aria-label="SEARCHBAR-TODO THIS ARIA LABEL" - placeholder/incomplete accessibility. Sort dropdown visible at "Best Match".
00:01:39Next goal: Scroll down in the left sidebar to find the Brand filter and select HP.
00:01:45Step 6:
00:01:58Eval: Scrolled down 3 pages and can see filter sidebar with Category, Screen Size, RAM, Price, Processor Model filters. Brand filter not yet visible - need to scroll within the sidebar. Verdict: Partial success.
00:01:58Memory: Step 6: On search results page for 'laptop'. Left sidebar visible with filters but Brand filter not yet found. Need to scroll within sidebar filter panel (scroll element has 10.1 pages below). ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL" on filter search bars. Products visible include HP laptop at $185, Dell at $899, Lenovo at $548.
00:01:58Next goal: Scroll down within the sidebar scroll element to find the Brand filter checkbox for HP.
00:02:06Step 7:
00:02:17Eval: Successfully scrolled down and found the Brand filter section with HP checkbox at index 4995. Verdict: Success.
00:02:17Memory: Step 7: Found Brand filter in sidebar. HP checkbox is at index 4995. Need to click it to filter. ISSUES: (1) Shadow DOM search input required retry on initial attempt, (2) Multiple filter search bars have placeholder ARIA label "SEARCHBAR-TODO THIS ARIA LABEL" - incomplete accessibility implementation, (3) Main content shows sponsored blocks loading slowly.
00:02:17Next goal: Click the HP checkbox (index 4995) to filter search results by HP brand.
00:02:19Clicked input type=checkbox checkbox-state=unchecked id=HP
00:02:21Step 8:
00:02:36Eval: Clicked HP checkbox successfully - HP filter is now applied as shown by the checked checkbox and HP tag at top of results. However, the product results area appears to be loading (no product cards visible yet, only pagination). Verdict: Success for filter application, but page still loading.
00:02:36Memory: Step 8: HP brand filter applied successfully. Page shows "laptop" in Laptops (11539) with HP filter tag. But product results are still loading - only pagination visible. Need to wait for products to load, then sort by Price Low to High. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder on filter search bars, (3) Page renders empty DOM intermittently (SPA loading issues).
00:02:36Next goal: Wait for the product results to fully load, then find and click the Sort dropdown to change from "Best Match" to "Price: Low to High".
00:02:41Step 9:
00:02:57Memory: Step 9: HP filter applied successfully. Products not rendering in main content area - SPA loading issue. Need to click Sort dropdown to change to "Price: Low to High". Sort dropdown is at index 3168. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder on filter search bars, (3) Product grid slow to render after filter application.
00:02:57Next goal: Click the Sort By dropdown (index 3168) to open it and then select "Price: Low to High".
00:02:58Clicked div role=button "Best Match" aria-label=Best Match
00:02:59Step 10:
00:03:09Eval: Successfully opened the Sort dropdown. The menu is now visible with all sorting options including "Price Low to High" at index 60687. Verdict: Success.
00:03:09Memory: Step 10: Sort dropdown is open. HP filter is applied. Need to click "Price Low to High" (index 60687). Product results area appears empty - SPA loading issue after applying HP filter. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder on filter search bars, (3) Product grid slow to render after filter.
00:03:09Next goal: Click "Price Low to High" option (index 60687) in the sort dropdown to sort results by price ascending.
00:03:11Clicked li role=menuitemcheckbox "Price Low to High"
00:03:13Step 11:
00:03:28Eval: Successfully selected "Price Low to High" sorting - the sort dropdown now shows "Price Low to High" and HP filter is active. However, the product grid appears empty in the current viewport. Verdict: Partial success - sort applied but products not visible.
00:03:28Memory: Step 11: HP filter applied, Sort by Price Low to High applied. Product grid appears empty between sort dropdown and pagination - possible SPA rendering delay. Need to wait or scroll to find product cards. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid empty after filter+sort - SPA rendering issue.
00:03:28Next goal: Wait for products to render, then scroll down to find the product listing cards in the main content area.
00:03:35Step 12:
00:03:48Memory: Step 12: HP filter applied, Price Low to High sort applied. Product grid appears empty - only sponsored ads visible in main content area. Need to scroll up to check if products are above viewport. The page info shows 2.2 pages above. ISSUES: (1) Shadow DOM search input, (2) ARIA placeholder labels, (3) Product grid not rendering after filter+sort, (4) Sponsored content dominates main area.
00:03:48Next goal: Scroll up to the top of the main content area to find the product listing cards that should appear after the sort/filter header.
00:03:50Step 13:
00:04:14Memory: Step 13: HP filter applied, Price Low to High sort applied. Main content area shows filter tags, sort dropdown, "1-18 of 11539 items" text, and pagination - but NO product cards rendered. This is a significant SPA rendering issue. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL" on multiple filter search bars, (3) Product grid fails to render product cards despite correct filter/sort state, (4) Sponsored content visible but actual products missing.
00:04:14Next goal: Scroll down on the main page to check if product cards are rendered below the currently visible area, since page_info shows 3.5 pages below.
00:04:15Step 14:
00:04:32Memory: Step 14: HP filter applied, Price Low to High sort applied. Product grid completely empty - only sponsored blocks visible. This is a major SPA rendering issue. Need to try refreshing the page or alternative approach. ISSUES: (1) Shadow DOM search required retry, (2) ARIA label placeholders, (3) Product grid fails to render after filter+sort, (4) Only sponsored content visible in main area. 5 issues detected total.
00:04:32Next goal: Try refreshing the page by navigating to the current URL to force the product grid to render. If that fails, try removing and re-applying the HP filter.
00:04:37Navigated to https://www.bestbuy.com/site/searchpage.jsp?st=laptop&qp=brand_facet%3DBrand~HP&sp=%2Bcurrentprice%20skuidsort
00:04:42Step 15:
00:05:01Eval: Page refreshed by navigating to the URL with HP filter parameters. The page loaded with 4099 results for "laptop" in Laptops. However, the HP checkbox in the sidebar appears unchecked despite the URL containing brand_facet. The sort is "Best Match". Products are now visible in the main content area. Verdict: Partial success - page loaded with products visible but HP filter needs to be re-applied.
00:05:01Memory: Step 15: Page loaded with products visible. HP checkbox unchecked in sidebar (index 64493). Sort is "Best Match" (index 61914). Need to: (1) Check HP filter, (2) Sort by Price Low to High, (3) Find cheapest HP laptop. Products visible include HP 14" at $185, HP 15.6" at $385. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid failed to render after filter+sort previously.
00:05:01Next goal: Click the HP checkbox (index 64493) to filter results by HP brand.
00:05:04Clicked input type=checkbox checkbox-state=unchecked id=HP
00:05:05Step 16:
00:05:19Memory: Step 16: On laptop search results page (4099 items). HP filter not applied. Product grid is EMPTY - only pagination visible. Quick filter buttons visible at top including HP (index 62696). Need to try HP quick filter button instead of sidebar checkbox. Sort dropdown visible but shows empty text. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid not rendering - major SPA issue, (4) HP filter state lost after page navigation.
00:05:19Next goal: Click the HP quick filter button (index 62696) at the top of results to apply HP brand filter.
00:05:21Clicked button "HP" aria-label= HP
00:05:22Step 17:
00:05:37Eval: Clicked HP quick filter button. HP filter is now applied - HP checkbox is checked (index 64493 checked=true), HP pill with X is visible at top. However, the product grid is still empty - no product cards rendered between sort dropdown and pagination. Verdict: Partial success - filter applied but products not rendering.
00:05:37Memory: Step 17: HP filter applied successfully (checked=true, HP pill visible). Product grid STILL empty - major SPA rendering issue. Sort dropdown at index 61914 shows empty text. Need to: (1) Sort by Price Low to High, (2) Wait for products to render. ISSUES: (1) Shadow DOM search input retry, (2) ARIA label placeholder, (3) Product grid fails to render product cards - critical SPA issue, (4) HP filter state management issues.
00:05:37Next goal: Click the Sort dropdown (index 61914) to open it and select "Price: Low to High" sorting option.
00:05:38Clicked div role=button
00:05:39Step 18:
00:05:53Eval: Sort dropdown opened successfully - all sort options visible including "Price Low to High" at index 89457. HP filter is applied (checkbox checked=true, HP pill visible). Verdict: Success.
00:05:53Memory: Step 18: Sort dropdown is open. HP filter applied. Need to click "Price Low to High" (index 89457). Product grid still empty between sort and pagination. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid not rendering - major SPA issue, (4) Sort dropdown text empty when no sort selected.
00:05:53Next goal: Click "Price Low to High" option (index 89457) in the sort dropdown to sort results by price ascending.
00:05:54Clicked li role=menuitemcheckbox "Price Low to High"
00:05:56Step 19:
00:06:15Eval: Successfully selected "Price Low to High" sorting. The sort dropdown now shows "Price Low to High" and HP filter is applied (checked=true). However, the product grid area between the sort dropdown and pagination remains completely empty - no product cards rendered. Verdict: Partial success - sort applied but products still not rendering.
00:06:15Memory: Step 19: HP filter applied (checked), Sort by Price Low to High applied. Product grid STILL empty between sort and pagination - "1-18 of 4099 items" shown but NO product cards. This is a critical SPA rendering issue that has persisted throughout multiple attempts. Need to try scrolling down on main page or use JavaScript to check DOM for product elements. ISSUES: (1) Shadow DOM search input retry, (2) ARIA label placeholder, (3) Product grid fails to render - critical, (4) Sort dropdown had empty text initially.
00:06:15Next goal: Scroll down on the main page to check if product cards are rendered below the currently visible viewport area, since page_info shows 4.1 pages below.
00:06:17Step 20:
00:06:36Memory: Step 20: HP filter applied (checked=true), Sort by Price Low to High applied. Product grid EMPTY - no product cards rendering. Only sponsored ads visible. This is a critical SPA rendering issue. Have tried: refreshing page, re-applying filter, scrolling up/down, waiting. Need to try JavaScript DOM inspection or extract tool. 5 key issues found so far.
00:06:36Next goal: Use JavaScript evaluation to inspect the DOM for product card elements that may exist but not be visible, or try extracting product data from the page.
00:06:37Step 21:
00:06:57Memory: Step 21: HP filter applied (checked=true), Sort by Price Low to High applied. Product grid container exists in DOM but is EMPTY - no product cards rendered. Critical SPA rendering issue persists across multiple attempts (scrolling, refreshing, re-applying filters). Total issues: 5+ detected. Need to try alternative approach - direct URL navigation or extract tool.
00:06:57Next goal: Try navigating directly to Best Buy HP laptops category page sorted by price low to high using a different URL format to bypass the SPA rendering issue.
00:07:02Navigated to https://www.bestbuy.com/site/laptop-computers/all-laptops/pcmcat138500050001.c?id=pcmcat138500050001&qp=brand_facet%3DBrand~HP&sp=%2Bcurrentprice%20skuidsaas
00:07:04Step 22:
00:07:19Eval: Successfully navigated to the All Laptops category page. Products are now rendering correctly! Brand filter section visible with HP checkbox at index 90679 (unchecked). Sort dropdown shows "Best Selling". 4099 total laptops listed. Verdict: Success.
00:07:19Memory: Step 22: On All Laptops category page (4099 items). Products ARE rendering! HP checkbox at index 90679, Sort dropdown at index 90642 (Best Selling). Need to: (1) Click HP checkbox, (2) Sort by Price Low to High, (3) Find cheapest, (4) Add to cart. Previous SPA rendering issue resolved by using category page URL instead of search results page.
00:07:19Next goal: Click the HP checkbox (index 90679) to filter results by HP brand.
00:07:25Clicked input type=checkbox checkbox-state=unchecked id=HP
00:07:28Step 23:
00:07:49Memory: Step 23 of 500. HP checkbox click failed again - shows unchecked. Product grid consistently empty across both search results and category pages - major SPA rendering issue. Have tried: (1) search page with filter, (2) category page with filter, (3) refreshing, (4) scrolling, (5) JS inspection. ISSUES: 5+ detected. Trying alternative approach - use "hp laptop" related search link or direct URL navigation.
00:07:49Next goal: Try clicking the "hp laptop" related search link (index 93297) which may load a different results page that actually renders products.
00:07:52Clicked a "hp laptop"
00:07:57Step 24:
00:08:20Eval: Clicked "hp laptop" related search link and it successfully loaded results with 4242 HP laptop items. Products ARE now rendering correctly! Verdict: Success.
00:08:20Memory: Step 24: On "hp laptop" search results page (4242 items in Computers & Tablets). Products are rendering! Sort dropdown at index 118488 shows "Best Match". HP quick filter button at 119250. Need to: (1) Sort by Price Low to High, (2) Find cheapest, (3) Add to cart, (4) Validate in cart. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid failed to render on search results page with filters - critical SPA issue resolved by using "hp laptop" search.
00:08:20Next goal: Click the Sort dropdown (index 118488) to open it and select "Price: Low to High" sorting option.
00:08:21Clicked div role=button "Best Match" aria-label=Best Match
00:08:23Step 25:
00:08:34Eval: Successfully opened the Sort dropdown on the "hp laptop" search results page. All sort options are visible including "Price Low to High" at index 147678. Verdict: Success.
00:08:34Memory: Step 25: On "hp laptop" search results page (4242 items). Sort dropdown is open. Products ARE rendering! Need to click "Price Low to High" (index 147678). Then find cheapest HP laptop, add to cart, validate in cart. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid failed to render on filtered search results pages - critical SPA issue, (4) Sort dropdown text was empty after certain states.
00:08:34Next goal: Click "Price Low to High" option (index 147678) in the sort dropdown to sort results by price ascending.
00:08:36Clicked li role=menuitemcheckbox "Price Low to High"
00:08:38Step 26:
00:08:54Eval: Successfully applied "Price Low to High" sort - dropdown now shows "Price Low to High". However, product grid remains empty with no product cards visible despite showing "1-18 of 4242 items". Verdict: Partial success.
00:08:54Memory: Step 26 of 500. Sort by Price Low to High applied on "hp laptop" search (4242 items). Product grid EMPTY again - same SPA rendering issue. Pagination visible but no product cards. Need to scroll down to check if products are below viewport. ISSUES: (1) Shadow DOM search input retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render - critical SPA issue, (4) Sort dropdown empty text in certain states.
00:08:54Next goal: Scroll down on the main page to check if product cards are rendered below the currently visible area, since page shows 4.2 pages below.
00:08:56Step 27:
00:09:14Memory: Step 27 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - critical SPA rendering issue persists. Only sponsored ads visible. Have tried: search page, category page, refreshing, scrolling, JS inspection, "hp laptop" search. All approaches show empty product grid after sort applied. Need to try extract tool or alternative URL approach. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder, (3) Product grid fails to render after sort - critical SPA issue, (4) Sort dropdown empty text in certain states.
00:09:14Next goal: Try using extract to check if product data exists in the page markup but isn't rendering visually, or scroll back up to the very top to see if products are visible above the current viewport.
00:09:18Step 28:
00:09:37Memory: Step 28 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - critical SPA rendering issue persists across all approaches. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render product cards - critical SPA issue, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state management issues. Need to try JS DOM inspection of product grid container.
00:09:37Next goal: Use JavaScript evaluation to inspect the product grid container for any product card elements or data attributes that might indicate why products aren't rendering.
00:09:37Step 29:
00:09:58Memory: Step 29 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - confirmed by JS inspection (0 children, 0 height). Critical SPA rendering issue persists across all approaches tried: search page with filters, category page, refreshing, scrolling, JS inspection. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render product cards - critical SPA rendering blocker, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state management issues. Need to try extracting product data or navigating to page 2.
00:09:58Next goal: Try extracting product data from the page using the extract tool, and also try navigating to page 2 of results to see if products render on subsequent pages.
00:10:10Step 30:
00:10:30Memory: Step 30 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - confirmed by both JS inspection and extract tool. Critical SPA rendering issue. Trying price filter $75-$99.99 to narrow results and potentially force product rendering. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render - critical SPA blocker, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state management issues.
00:10:30Next goal: Click the $75-$99.99 price filter checkbox in the sidebar to narrow results to cheapest HP laptops, which may force product grid to render.
00:10:32Clicked input type=checkbox checkbox-state=unchecked id=$75_-_$99.99
00:10:33Step 31:
00:11:02Eval: Clicked $75-$99.99 price filter - it's now checked (true) and showing as a filter pill. But product grid remains EMPTY - same critical SPA rendering issue. Verdict: Partial success - filter applied but products still not rendering.
00:11:02Memory: Step 31 of 500. On "hp laptop" search results page with Price Low to High sort and $75-$99.99 price filter applied. Product grid EMPTY - critical SPA rendering issue persists across ALL approaches: search page, category page, filters, sorts, refreshing, scrolling, JS inspection, extract tool. Product grid container exists with 0 children. 4242 items claimed but none rendered. Need to try JS to check page state/data or completely different URL approach.
00:11:02Next goal: Use JavaScript evaluation to check if product data exists in the page's JavaScript state/store (React/Redux state) or check for any lazy-loading mechanisms that aren't triggering.
00:11:02Step 32:
00:11:22Memory: Step 32 of 500. On "hp laptop" search results page with Price Low to High sort and $75-$99.99 price filter. Product grid EMPTY (0 children confirmed by JS). Apollo SSR data shows "data: undefined" - GraphQL queries returning no data. This is likely bot detection at API level. Have tried: search page, category page, filters, sorts, refreshing, scrolling, JS inspection, extract tool. All show empty product grid. Need to try removing price filter or navigating directly to a product page. ISSUES: 5+ detected.
00:11:22Next goal: Remove the $75-$99.99 price filter by clicking the X button on the filter pill, then check if products render without it.
00:11:23Clicked button "$75 - $99.99" aria-label=Price $75 - $99.99
00:11:25Step 33:
00:11:47Memory: Step 33 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - critical SPA rendering issue persists across ALL approaches over 32+ steps. Apollo GraphQL data shows "data: undefined". Trying page 2 navigation next. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render - critical SPA blocker, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state management issues.
00:11:47Next goal: Try navigating to page 2 of results to see if products render on a different page, and also try the Laptops category link in the sidebar.
00:11:49Clicked a "2" aria-label=Results Page 2
00:11:50Step 34:
00:12:10Memory: Step 34 of 500. On "hp laptop" search results page 2 - shows "didn't find anything" error. Product grid has NEVER rendered after applying sort/filter across 33+ steps. Apollo GraphQL data returns "undefined". This is likely bot detection at API level. Products DID render briefly at step 5 (initial search load) and step 22 (category page before filter). Pattern: products render on first load but fail after filter/sort interaction. ISSUES: 5+ detected including critical SPA rendering blocker.
00:12:10Next goal: Try navigating back to bestbuy.com homepage and doing a completely fresh search for 'hp laptop' to see if products render on the initial page load before any filter/sort interactions.
00:12:14Navigated to https://www.bestbuy.com
00:12:18Step 35:
00:12:35Eval: Navigated back to bestbuy.com homepage successfully. Previous 33+ steps failed to render product cards after applying filters/sort due to critical SPA rendering issue (Apollo GraphQL returning undefined data). Verdict: Success for navigation, failure for overall task progress.
00:12:35Memory: Step 35 of 500. Back on bestbuy.com homepage. Critical finding: Product grid renders on initial page load but goes blank after filter/sort interactions (Apollo GraphQL data becomes undefined - likely bot detection). Products rendered at step 5 (initial search) and step 22 (category page before filter). Strategy: Search "hp laptop" directly, avoid filter/sort, find cheapest from rendered results. 5+ issues detected including critical SPA rendering blocker.
00:12:35Next goal: Search for "hp laptop" directly from the homepage search bar to get HP laptop results without needing to apply brand filter separately.
00:12:36Clicked textarea id=autocomplete-search- aria-label=Search
00:12:39Typed "hp laptop" into element with index 168085
00:12:40Step 36:
00:12:58Memory: Step 36 of 500. On bestbuy.com homepage with 'hp laptop' typed in search bar. Autocomplete showing HP laptop suggestions including HP 14" laptops (likely cheapest). Strategy: Submit search, try to view products before they disappear after sort/filter. Key finding from previous 35 steps: Products render on initial page load but product grid goes blank after applying sort/filter (Apollo GraphQL returns undefined data - likely bot detection). ISSUES: 5+ detected.
00:12:58Next goal: Click the search button to submit the 'hp laptop' search query and get full results page with rendered product cards.
00:13:02Clicked button id=autocomplete-search- aria-label=Search-Button
00:13:09Step 37:
00:13:21Eval: Successfully searched for "hp laptop" and product cards ARE rendering this time! I can see HP laptop products with prices visible. Sort is currently "Best Match". Verdict: Success.
00:13:21Memory: Step 37: On "hp laptop" search results page (4242 items). Products ARE rendering! Visible products: HP 17 Laptop $1,059 (sponsored), HP OmniBook X $1,379.99, HP OmniBook X Flip $999.99 (save $350). Sort dropdown at index 171782 shows "Best Match". Need to sort by Price Low to High to find cheapest. Key breakthrough: Products render on fresh search but fail after filter/sort interactions.
00:13:21Next goal: Click the Sort dropdown (index 171782) to open it and select "Price: Low to High" sorting option.
00:13:26Clicked div role=button "Best Match" aria-label=Best Match
00:13:28Step 38:
00:13:41Eval: Successfully opened the Sort dropdown on the "hp laptop" search results page. All sort options visible including "Price Low to High" at index 195365. Products are rendering below. Verdict: Success.
00:13:41Memory: Step 38: On "hp laptop" search results page (4242 items). Sort dropdown is OPEN. Products ARE rendering (product cards visible). Need to click "Price Low to High" (index 195365). Key pattern: products render on fresh search but often disappear after filter/sort. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render after sort/filter - critical SPA issue, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state management issues.
00:13:41Next goal: Click "Price Low to High" option (index 195365) in the sort dropdown to sort results by price ascending.
00:13:43Clicked li role=menuitemcheckbox "Price Low to High"
00:13:45Step 39:
00:14:12Eval: Successfully applied "Price Low to High" sort on "hp laptop" search results page. However, the product grid is AGAIN completely empty - showing "1-18 of 4242 items" with pagination but no product cards rendered between sort header and pagination. Verdict: Partial success - sort applied but products not rendering (same critical SPA issue).
00:14:12Memory: Step 39 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY - same critical SPA rendering issue that has persisted for 38+ steps. Products rendered briefly on initial loads (steps 5, 22, 37) but disappear after sort/filter interactions. Apollo GraphQL data returns "undefined". ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render after sort/filter - critical SPA blocker, (4) Sort dropdown empty text in certain states, (5) HP filter checkbox state issues.
00:14:12Next goal: Try using JavaScript to check for any product data in the page's global state, or try scrolling down to check for product elements below the pagination. If this fails, try navigating directly to an HP laptop product page.
00:14:12Step 40:
00:14:40Memory: Step 40 of 500. On "hp laptop" search results page sorted by Price Low to High (4242 items). Product grid EMPTY (0 children confirmed by JS) across 39+ steps. Apollo GraphQL data returns "undefined". Products rendered briefly on fresh page loads (steps 5, 22, 37) but disappear after sort/filter. This is likely bot/headless browser detection at the API level. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render after sort/filter - critical SPA blocker, (4) Sort dropdown empty text, (5) HP filter checkbox state issues. Need to try alternative approach to find cheapest HP laptop.
00:14:40Next goal: Try searching Google for the cheapest HP laptop on Best Buy to find a direct product link, since the Best Buy SPA product grid won't render after applying sort/filter.
00:14:45Step 41:
00:15:05Memory: Step 41 of 500. Google search blocked by CAPTCHA. On bestbuy.com: products render on initial search page load but product grid goes EMPTY (0 children, Apollo GraphQL data="undefined") after ANY sort/filter interaction. This has persisted across 40+ steps. Products were visible at steps 5, 22, 37 (initial loads). Need alternative approach - try DuckDuckGo or go back to bestbuy.com and view unsorted results. ISSUES: 6+ detected including critical SPA rendering blocker and Google CAPTCHA.
00:15:05Next goal: Try DuckDuckGo search to find the cheapest HP laptop on Best Buy, since Google is blocked by CAPTCHA.
00:15:11Step 42:
00:15:35Eval: DuckDuckGo search returned HP laptop results from Best Buy. I can see shopping results with prices: HP 14" Laptop at $179.99 (cheapest visible), HP 15.6" Chromebook at $299.00, HP 2-in-1 at $479.00, HP 15.6" at $374.99, HP 14" at $219.99. Verdict: Success.
00:15:35Memory: Step 42 of 500. DuckDuckGo search successful. Found cheapest HP laptop on Best Buy: HP 14" Laptop Intel Celeron N4500 at $179.99 (was $199.99). Also HP 14" Intel N150 at $219.99, HP Chromebook at $299.00. Need to click on the $179.99 product link (index 183) to go to Best Buy product page. ISSUES: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render after sort/filter - critical SPA blocker, (4) Sort dropdown empty text, (5) HP filter checkbox state issues, (6) Google CAPTCHA blocker.
00:15:35Next goal: Click on the HP 14" Laptop at $179.99 link (index 183) to navigate to its Best Buy product page and add it to cart.
00:15:36Clicked a "HP - 14" Laptop - Intel Celero...". Note: This opened a new tab (tab_id: 9D69) - switch to it if you need to interact with the new page.
00:15:37Step 43:
00:15:48Eval: Clicked on the HP 14" Laptop at $179.99 link on DuckDuckGo which opened a new tab (9D69) with the Best Buy product page. Verdict: Success.
00:15:48Memory: Step 43 of 500. HP 14" Laptop ($179.99) product page opened in tab 9D69. Need to switch to it and add to cart. DuckDuckGo results are in tab 35C6. Key issues found: (1) Shadow DOM search input required retry, (2) ARIA label placeholder "SEARCHBAR-TODO THIS ARIA LABEL", (3) Product grid fails to render after sort/filter - critical SPA blocker, (4) Sort dropdown empty text, (5) HP filter checkbox state issues, (6) Google CAPTCHA blocker.
00:15:48Next goal: Switch to the new tab (9D69) containing the HP 14" Laptop product page on Best Buy to add it to cart.
00:15:49Step 44:
00:16:13Memory: Step 44. HP 14" Laptop product page (SKU 6648127) returned ERR_HTTP2_PROTOCOL_ERROR via DuckDuckGo redirect. Need to try direct Best Buy URL with SKU 6648127. Issues count: 7 (adding HTTP2 protocol error). Tab 9D69 has error page, tab 35C6 has DuckDuckGo results.
00:16:13Next goal: Navigate directly to the Best Buy product page for SKU 6648127 using a clean URL format.
00:16:13Step 45:
00:16:27Memory: Step 45. Both DuckDuckGo redirect and direct URL navigation to Best Buy product page (SKU 6648127, HP 14" Laptop $179.99) failed with ERR_HTTP2_PROTOCOL_ERROR. Need to try navigating to bestbuy.com homepage first to establish session, then search for the product. Issues: 7 total including HTTP2 protocol error blocking product pages.
00:16:27Next goal: Navigate to bestbuy.com homepage to establish a session, then try to reach the HP laptop product page.
00:16:30Navigated to https://www.bestbuy.com
00:16:32Step 46:
00:16:44Eval: Successfully navigated to bestbuy.com homepage. The page is visually loaded (screenshot shows homepage with search bar, navigation, promotional banners) but DOM tree shows as empty - page still loading. Verdict: Partial success.
00:16:44Memory: Step 46. On bestbuy.com homepage in tab 9D69. Page visually loaded but DOM tree empty (SPA still initializing). Need to wait for DOM to populate, then search for HP laptop SKU 6648127 ($179.99). Issues: 7 total (Shadow DOM search, ARIA placeholder, product grid SPA failure, sort dropdown, HP filter state, Google CAPTCHA, HTTP2 protocol error).
00:16:44Next goal: Wait for the Best Buy homepage DOM to fully load, then search for the HP laptop.
00:16:47Step 47:
00:16:59Eval: Best Buy homepage loaded successfully after waiting. DOM is now populated with search bar, navigation, and homepage content visible. Verdict: Success.
00:16:59Memory: Step 47. On bestbuy.com homepage in tab 9D69. Homepage loaded with search bar visible. Need to navigate to HP 14" Laptop SKU 6648127 ($179.99) product page. Previous direct URL navigation failed with HTTP2 error, but homepage loaded fine. Will try navigating to product page now that session is established. Issues: 7 total detected.
00:16:59Next goal: Navigate directly to the HP 14" Laptop product page using SKU 6648127 now that we have an established Best Buy session.
00:17:00Step 48:
00:17:11Memory: Step 48. Product page URLs keep failing with ERR_HTTP2_PROTOCOL_ERROR (tried 3 different URL formats). Homepage loads fine. Will try navigating to homepage and searching for "6648127" (SKU) or "hp laptop" to find the product through Best Buy's own search. Issues: 7+ detected.
00:17:11Next goal: Navigate to bestbuy.com homepage, then use the search bar to find the HP 14" Laptop (SKU 6648127) since direct product URLs are blocked.
00:17:15Navigated to https://www.bestbuy.com
00:17:17Step 49:
00:17:27Eval: Navigated to bestbuy.com homepage. Page is visually loaded (screenshot shows homepage with search bar, navigation, promotional content) but DOM tree is empty - SPA still initializing. Verdict: Partial success.
00:17:27Memory: Step 49. On bestbuy.com homepage in tab 9D69. Page visually loaded but DOM empty (SPA initializing). Need to wait for DOM, then search for HP laptop SKU 6648127. Direct product URLs failed with HTTP2 error (3 attempts). DuckDuckGo found cheapest HP laptop at $179.99. Issues: 7+ detected. Tab 35C6 has DuckDuckGo results.
00:17:27Next goal: Wait for the Best Buy homepage DOM to fully load so I can interact with the search bar.
00:17:31Step 50:
00:17:44Eval: Best Buy homepage loaded successfully after waiting. DOM is populated with search bar, navigation elements, and homepage content. Verdict: Success.
00:17:44Memory: Step 50. On bestbuy.com homepage in tab 9D69. DOM is populated. Need to search for HP laptop SKU 6648127 to find the $179.99 HP 14" Laptop. Direct product URLs failed with HTTP2 protocol errors. Will try using the search bar to find the product. Issues: 7+ detected.
00:17:44Next goal: Click the search bar and search for SKU "6648127" to navigate to the HP 14" Laptop product page.
00:17:45Clicked textarea id=autocomplete-search- aria-label=Search
00:17:45Typed "6648127" into element with index 15
00:17:46Step 51:
00:17:58Eval: Successfully typed "6648127" into the Best Buy search bar. Autocomplete suggestions appeared but show unrelated results ("6642265 tv"). Need to submit the search. Verdict: Success.
00:17:58Memory: Step 51. On bestbuy.com homepage, typed "6648127" in search bar. Autocomplete showing wrong suggestions. Need to click search button to submit. HP 14" Laptop $179.99 is SKU 6648127. Issues: 7+ detected. Tab 9D69 (Best Buy), Tab 35C6 (DuckDuckGo).
00:17:58Next goal: Click the search button to submit the SKU search for "6648127" to find the HP 14" Laptop.
00:17:59Clicked button id=autocomplete-search- aria-label=Search-Button
00:18:00Step 52:
00:18:31Memory: Step 52. All Best Buy product page URLs fail with ERR_HTTP2_PROTOCOL_ERROR (4+ attempts, multiple URL formats). Homepage and search results pages load fine. Products render on initial search load but disappear after sort/filter. Cheapest HP laptop is SKU 6648127, $179.99. Will try searching from homepage and adding to cart from search results page. Issues: 8 total (adding product page HTTP2 errors as separate issue).
00:18:31Next goal: Navigate to bestbuy.com homepage and search for "hp laptop" to get a fresh search results page where products render, then try to find and add the cheapest HP laptop to cart from the search results.
00:18:34Navigated to https://www.bestbuy.com
00:18:36Step 53:
00:18:52Eval: Navigated to bestbuy.com homepage. Page is visually loaded (screenshot shows homepage with search bar, promotional content) but DOM tree is empty (SPA still initializing). Verdict: Partial success - need to wait for DOM.
00:18:52Memory: Step 53. On bestbuy.com homepage in tab 9D69, DOM empty. Waiting for DOM to load. Have tried 52 steps total. Key blockers: (1) Product grid empties after sort/filter, (2) Product page URLs return HTTP2 errors, (3) Google CAPTCHA. Found cheapest HP laptop via DuckDuckGo: SKU 6648127, $179.99. Need to try adding to cart from search results page or accept test as blocked/failed.
00:18:52Next goal: Wait for the Best Buy homepage DOM to load, then search for "hp laptop" to attempt adding the cheapest result to cart.
00:18:56Step 54:
00:19:14Eval: Best Buy homepage loaded successfully after waiting. DOM is populated with search bar, navigation, and content. Verdict: Success.
00:19:14Memory: Step 54. On bestbuy.com homepage in tab 9D69. DOM populated. Need to search for "hp laptop" and try to add cheapest result to cart. Products render on initial search loads but disappear after sort/filter. Product page URLs return HTTP2 errors. Issues: 8+ detected. This is likely one of the last attempts before compiling the test report.
00:19:14Next goal: Search for "hp laptop" on bestbuy.com to get a fresh search results page with products rendered, then try to add the cheapest one to cart.
00:19:15Clicked textarea id=autocomplete-search- aria-label=Search
00:19:16Typed "hp laptop" into element with index 16
00:19:19Clicked button id=autocomplete-search- aria-label=Search-Button
00:19:25Step 55:
00:19:42Eval: Successfully searched for "hp laptop" on bestbuy.com. Products ARE rendering on the search results page (4242 results). I can see HP laptop product cards with images, titles, and prices. Sort is set to "Best Match". Verdict: Success.
00:19:42Memory: Step 55. On bestbuy.com "hp laptop" search results page with 4242 results in tab 9D69. Products ARE rendering (product cards visible with images, titles, prices). Sort currently "Best Match". Need to sort by Price Low to High. WARNING: Previous sort attempts caused product grid to go empty. Will try sort dropdown again. If it fails, will use price range filter ($75-$99.99) as workaround. Issues: 8+ detected.
00:19:42Next goal: Click the Sort dropdown to open it and select "Price Low to High" to sort results by price ascending.
00:19:43Clicked div role=button "Best Match" aria-label=Best Match
00:19:45Step 56:
00:19:57Eval: Successfully opened the Sort dropdown on the "hp laptop" search results page. All sort options visible including "Price Low to High" at index 30910. Products are rendering below the sort area. Verdict: Success.
00:19:57Memory: Step 56. On bestbuy.com "hp laptop" search results (4242 items). Sort dropdown is OPEN with options visible. Products ARE rendering. Clicking "Price Low to High" (index 30910). WARNING: Previous sort attempts caused products to disappear. Issues: 8+ detected. Tab 9D69 (Best Buy), Tab 35C6 (DuckDuckGo).
00:19:57Next goal: Click "Price Low to High" option (index 30910) in the sort dropdown to sort results by price ascending.
00:19:59Clicked li role=menuitemcheckbox "Price Low to High"
00:20:00Step 57:
00:20:29Eval: Successfully applied "Price Low to High" sort (dropdown now shows "Price Low to High") but product grid is AGAIN empty - no product cards rendered between sort header and pagination. Same critical SPA rendering issue. Verdict: Partial success - sort applied, products not rendering.
00:20:29Memory: Step 57. On bestbuy.com "hp laptop" search results sorted by Price Low to High (4242 items). Product grid EMPTY again after sort. This is the same critical SPA issue - products render on initial search load but disappear after sort/filter. 8+ issues detected. Product page URLs also fail with HTTP2 errors. Task is effectively blocked. Will try scrolling to check for hidden products, then compile report.
00:20:29Next goal: Scroll down in the main content area to check if product cards are rendered below the visible area, and if not, try using JavaScript to check for any product data.
00:20:31Step 58:
00:22:32Step 59:
00:24:27Memory: Step 59. Task effectively BLOCKED after 58 steps. Product grid empties after sort/filter, product page URLs return HTTP2 errors, Google blocked by CAPTCHA. Found cheapest HP laptop via DuckDuckGo (SKU 6648127, $179.99) but cannot access product page or add to cart. Compiling final test report.
00:24:27Next goal: Generate the final structured test report and call done, documenting all issues found and the blocked status.
00:24:39Test run completed
AI Agent Readiness
28/100

Best Buy's website presents critical barriers to AI agent interaction. The most severe issues are: (1) the SPA product grid fails to render after sort/filter interactions, making it impossible for agents to browse sorted/filtered results; (2) product detail pages return HTTP/2 protocol errors for automated browsers, blocking access to product information and add-to-cart functionality. Additional issues include Shadow DOM search input that fails silently without proper focus management, incomplete ARIA labels (placeholder 'TODO' text on multiple filter inputs), and no WebMCP implementation. The site's heavy reliance on client-side JavaScript rendering with Apollo GraphQL, combined with aggressive bot detection, makes it one of the most challenging major retail sites for AI agent automation. Basic navigation (homepage, initial search) works, but any workflow requiring sort, filter, or product detail access is effectively blocked.

Optimization Recommendations
Critical
Performance
Fix SPA product grid rendering after sort/filter interactions
Critical
Navigation
Allow automated browser access to product detail pages
High
Aria
Replace placeholder ARIA labels on filter search inputs
High
Semantic
Improve Shadow DOM search input accessibility and focus management
Medium
Crawlability
Implement server-side rendering for product grid data
Medium
Webmcp
Implement WebMCP tool declarations for core shopping actions
Low
Crawlability
Add llms.txt file for AI-friendly site documentation

🚫 Walmart.com & Temu: The Bot Wall

Both Walmart and Temu stopped agents dead on arrival. Before any product search could begin, bot detection systems triggered and blocked all 9 models. CAPTCHAs, challenge pages, and behavioral fingerprinting prevented any meaningful interaction.

This is an increasingly common pattern. Retailers have legitimate reasons to block automated traffic (scraping, price manipulation, inventory abuse). But the same defenses that stop bad actors also block the next generation of customers.

Even Gemini Pro 3 cannot Press & Hold on Walmart.com

Waiting for stream to be ready...

Agent Logs
13 lines
00:00:00Test run started
00:00:00Agent task: 1. Go to walmart.com 2. Search for 'laptop' 3. Select 'Brand' filter and choose 'HP 4. Sort the results by Price: Low to High. 5. Select the cheapest result and add it to the cart. 6. Navigate to the cart page and validate the laptop you chose is in the cart.
00:00:00Agent execution starting...
00:00:10Navigated to https://walmart.com
00:00:10Step 1:
00:00:14Eval: Successfully navigated to walmart.com. Verdict: Success.
00:00:14Memory: Initial navigation to walmart.com complete. A captcha is currently blocking interaction. Identified a 'Press & Hold' button within an iframe to attempt to solve the captcha.
00:00:14Next goal: Attempt to bypass the 'Robot or human?' captcha by clicking the 'Press & Hold' button.
00:00:14Clicked div role=button "Press & Hold Human Challenge r..." id=cGivkFoUOXFvmab aria-label=Press & Hold Human C
00:00:15Step 2:
00:00:24Memory: The task is blocked by a captcha that requires a 'press and hold' action. This is an unresolvable issue with current tools. I will report this as a blocker.
00:00:24Next goal: Generate the structured test report, documenting the captcha as a blocker, and terminate the task.
00:00:32Test run completed
AI Agent Readiness
0/100

The site's AI agent readiness is critical due to an unbypassable CAPTCHA, which completely blocks interaction. While some basic navigation elements seem present, the core functionality is inaccessible.

Optimization Recommendations
Critical
Ai_crawlability
Implement AI-friendly CAPTCHA alternatives or WebMCP for bot detection

Can AI Agents Navigate your Website?

Get the same reports showing exactly where AI agents struggle on your site and what to fix first in minutes.

The Model Tier Breakdown

The gap between model tiers was dramatic, and not always where you'd expect.

Light Tier: Gemini Flash Lite 2.5 · GPT-5 Nano · Haiku 4.5

The lightweight models struggled across the board. Haiku 4.5 in particular failed consistently, not because of the websites, but because it couldn't handle the context required for browser-based interaction. The DOM snapshots from modern e-commerce sites are enormous, and Haiku simply couldn't process them effectively, producing malformed responses or failing to generate valid actions.

GPT-5 Nano and Gemini Flash Lite performed better but still failed on any site that required more than 3-4 clean interactions. Filters and sorting were their breaking point.

Balanced Tier: Gemini Flash 3 · GPT-5 Mini · Sonnet 4.5

The balanced tier showed the best cost-to-performance ratio. These models could navigate successfully and made meaningful progress even on Best Buy before the rendering issue stopped them. They handled pop-ups better than the light tier but still struggled with more persistent issues.

Heavy Duty Tier: Gemini 3 Pro · GPT-5.1 · Opus 4.6

The frontier models demonstrated impressive resilience. Honestly all of them performed flawlessly and they only failed when the website itself failed to render results.

But heavy duty comes with heavy costs. These models are much more expensive per run than the light tier. For recurring agent-based shopping, the economics don't work yet unless the task completion rate is near-perfect.

So what should you do for you website?

Across all 54 test runs (9 models × 6 sites), we identified five consistent failure patterns. Every one of them is fixable.

Pattern #1: The Bot Wall

Bot detection systems blocked all 9 models before any interaction could begin. This is the nuclear option. It doesn't just prevent bad actors; it prevents all agent-based commerce.

The industry is actively building alternatives. Google's Universal Commerce Protocol (UCP), developed with Shopify, Target, Walmart, and others, aims to create authenticated agent access. Stripe and PayPal have launched agentic commerce protocols for secure transactions. Visa's Trusted Agent Protocol and Mastercard's Agent Pay are building the trust layer.

The fix: Implement agent-permissioned access: a verified pathway for trusted AI agents that sits between “block everything” and “open to all.” Start evaluating UCP, Stripe's ACP, and AP2. Sites that solve this first will capture the next wave of commerce.

Pattern #2: The Persistent Pop-Up

Promotional overlays that appear on every page load are an agent killer. The AliExpress “free gift” pop-up used custom DOM elements without semantic roles, making it invisible to agents relying on accessibility-tree parsing. Microsoft's WABER study confirms this is a top failure pattern: agents faced a 34.3% increase in cost when handling pop-ups, and shopping task accuracy dropped to as low as 10%.

The fix: Ensure overlays use role="dialog" and aria-modal="true". Provide semantically labeled close buttons (aria-label="Close dialog"). Detect automated user agents and suppress non-critical overlays. If the pop-up isn't critical to the purchase flow, it shouldn't block agents from reaching the purchase flow.

Pattern #3: Context Poisoning

When a site's DOM is extremely dense, deeply nested, or slow to render, agents burn through their context window just navigating the page. Heavy page loads meant agents spent thousands of tokens on DOM state before reaching the filter step. By the time they got to “add to cart,” the earlier context had degraded, causing misidentification of elements, repeated actions, or complete loss of the task objective.

The fix: Optimize your page weight and DOM depth. Use semantic HTML landmarks (<main>, <nav>, <aside>, <section>) so agents can skip irrelevant content. Implement proper heading hierarchy. Reduce the number of nested <div> wrappers. Every unnecessary DOM node is a tax on agent performance.

Pattern #4: Rendering Failure

This was the most unexpected finding. Even when frontier models successfully navigated complex UIs, the website themselves sometimes failed to render proper results. The agents did everything right; the site did not. Client-side rendering failures, stale state after filter application, and incomplete hydration meant the agents were trying to interact with a page that hadn't finished building itself.

The fix: Ensure filtered/sorted results render reliably under all conditions including when the user agent doesn't execute JavaScript in the typical human pattern. Server-side render critical product listing state. Provide loading indicators with aria-live regions. Make sure your site works before you blame the agent.

Pattern #5: Model Capacity

Modern e-commerce pages produce enormous DOM snapshots, often exceeding the practical context window of lightweight models. Smaller models couldn't generate valid actions for any site in our test. This isn't the site's fault, but it is a reality that site owners need to plan for: the agent visiting your site might be running a small, cost-efficient model, not a frontier giant.

The fix: The more semantic and structured your HTML, the less context budget an agent needs to understand it. Clean markup isn't just good practice; it's the difference between being accessible to a $0.001/request agent and requiring a $0.10/request model to navigate your site.

Is Your Site Ready for AI Agents?

Get a detailed report showing exactly where AI agents struggle on your site, and what to fix first.

Why This Matters Right Now

OpenClaw has shown what happens when agentic AI goes mainstream. With 193,000+ GitHub stars and 33,000+ forks and integrations spreading from Silicon Valley to China, people are already pointing AI agents at real websites and expecting them to work. The viral explosion of OpenClaw (which went from obscure hobby project to 100K stars in two days, faster than any repo in GitHub history) is a preview of what's coming. Users aren't waiting for the protocols to be finalized. They're sending agents to your site today.

And those agents are failing. Quietly, invisibly, with no error logged on your server and no support ticket filed. The agent just… moves on to a competitor whose site it can navigate.

If a checkout flow can't accept an authenticated agent, the agent will move the transaction somewhere else. It won't debate it. It won't try again. It will simply pick a merchant it can complete the cycle with.
Previsible, “Agentic Shopping in 2026”

Amazon's Andy Jassy acknowledged the gap publicly, telling analysts that most AI shopping agents fail to provide a satisfactory customer experience, lacking personalization and providing inaccurate pricing and delivery information. When even the CEO of the world's largest e-commerce company admits the technology isn't working, the question shifts from “should we care?” to “how fast can we fix it?”


What's Next

This is Part 1 of our Agent vs. The Web series. E-commerce is just the beginning.

What should we tackle next? Every installment will include real test data, real failure analysis, and actionable recommendations you can implement immediately.

The trillion-dollar agentic commerce future isn't going to build itself. The websites have to be ready for it. Right now, they're not. Let's fix that.

Ready to Test Your Site's AI Agent Readiness?

Join the waitlist and be the first to know when FlowTester launches.

Methodology note: All tests were conducted in February 2026 using FlowTester's browser-based testing framework. Each test was run with a consistent, standardized task across all 9 models and 6 sites. Results reflect the state of the tested websites at the time of testing; site updates may have changed behavior since publication.