我为此苦苦挣扎了很长时间,所以希望这会对某人有所帮助。
问题是这样的:
下面是一些人为的 HTML,但希望能说明这一点:
<table>
<th>Select</th>
<th>First Name</th>
<th>Middle Name</th>
<th>Family Name</th>
<th>Comment</th>
<tbody>
<tr>
<td><input type="checkbox" /></td>
<td><div><div><span>John</span></div></div></td>
<td></td>
<td><span>Smith</span></td>
<td><span>Nice guy.</span></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td><div><div><div><div><span>John</span></div></div></div></div></td>
<td></td>
<td><span>Doe</span></td>
<td><span>Jolly decent cricketer.</span></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td><div><div><div><div><span>Jane</span></div></div></div></div></td>
<td></td>
<td><span>Doe</span></td>
<td><span>Great swimmmer.</span></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td><span>Jack</span></td>
<td></td>
<td><span>Sprat</span></td>
<td><span>Spiffing golfer.</span></td>
</tr>
</tbody>
</table>
问题是,例如,是否有一种或多或少通用的方式来访问 John Doe 的复选框?
最佳答案
试试下面: -
//tbody/tr/td[text()='John']/following-sibling::td[text()='Doe']/preceding-sibling::td[1]/input[@type='checkbox']
在这里,我们尝试找到具有文本 的“td”标签。约翰 及其以下兄弟,即“td”标签,使其具有文本能源部 .一旦完成,然后我们会尝试找到前面的 sibling ,这首先是为了复选框。
这更加健壮,意味着它不考虑标记中名字和姓氏的顺序。
关于html - 根据一个或多个列值查找或更改同一表行上的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924277/