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

如何基于'Amber'与'2'两个值编写XPath定位对应input元素

你原来的XPath写法存在逻辑错误:[text() = "Amber" and text() = "2"]要求同一个<span>元素同时包含两个完全不同的文本值,而实际场景中2和Amber分别在同一表格行<tr>下的两个不同<td>的子<span>中,永远无法匹配到结果。

正确的思路是先定位同时满足两个文本条件的目标行<tr>,再从行内向下查找你需要的input元素,以下是不同目标input的对应写法:

1. 定位行首的批量选择复选框

//tbody/tr[td/span/span[text()='2'] and td/span/span[text()='Amber']]/td[1]//input[@data-table-row-checkbox='true']

2. 定位价格输入框

//tbody/tr[td/span/span[text()='2'] and td/span/span[text()='Amber']]//input[@name='price-input']

3. 定位行尾的启用状态开关复选框

//tbody/tr[td/span/span[text()='2'] and td/span/span[text()='Amber']]//input[@class='switch-checkbox']

如果文本前后存在空格导致匹配失败,可以用normalize-space()方法消除空格干扰,优化后的写法示例:

//tbody/tr[td/span/span[normalize-space(text())='2'] and td/span/span[normalize-space(text())='Amber']]//input[@name='price-input']

内容的提问来源于stack exchange,提问作者Hari Kishan Agrawal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:15:02