You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium限定Driver Scope后仍选错商品问题排查

问题原因与解决方案

核心问题

你定位按钮时用的XPath //div[@class='card-body']/button[2] 是全局搜索(// 表示从整个文档根节点开始查找),而非基于你已经筛选到的ADIDAS ORIGINAL的card-body元素进行相对查找。所以即使你通过Stream拿到了正确的商品元素,点击操作还是会匹配页面上第一个符合该XPath的按钮——也就是ZARA COAT3的按钮。

修复方法

将XPath改为相对路径,在开头添加.,表示从当前元素的上下文范围内搜索:

修改这一行代码:

element.findElement(By.xpath("//div[@class='card-body']/button[2]")).click();

改为:

// 因为element本身就是card-body元素,直接找子节点按钮即可
element.findElement(By.xpath(".//button[2]")).click();

或者保持和原逻辑对齐的精确相对路径:

element.findElement(By.xpath(".//div[@class='card-body']/button[2]")).click();

验证说明

修改后,点击操作会严格在你筛选到的ADIDAS ORIGINAL的card-body元素范围内查找按钮,确保点击的是目标商品的添加购物车按钮。

内容的提问来源于stack exchange,提问作者Srinath Murugula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:22:29