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

Playwright相邻兄弟定位器问题:点击指定span后的第二个div

解决Playwright中通过相邻兄弟定位目标div的问题

你遇到的问题是用CSS相邻兄弟选择器+ div + div无法定位到目标元素,这里提供两种可靠的修改方案:

方案1:使用XPath的following-sibling定位

直接定位到Algorithm span的第二个同级div元素,代码如下:

await page.getByText("Algorithm").first().locator("xpath=following-sibling::div[2]").click();

following-sibling::div[2]会选中当前span元素之后的第二个div兄弟节点,正好对应你要点击的“click me”所在的div。

方案2:通过父容器索引定位

先找到span的父div,再选中其中的第二个div,代码如下:

await page.getByText("Algorithm").first().locator("xpath=../div[2]").click();

../表示回到当前span的父元素(外层div),然后div[2]选中父元素下的第二个div子节点,同样能精准定位目标。

原代码失败的可能原因:虽然CSS的+ div + div逻辑上是对的,但Playwright在链式locator中对CSS相邻兄弟选择器的解析可能存在兼容性问题,改用XPath的定位方式会更稳定。

内容的提问来源于stack exchange,提问作者utkarsh-k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:33:09