如何解决我如何提取第二个 <td> 上的内容,CAT5 是我需要提取到 xpath 中的内容
<script>
$("#id_ReadingAreaNo").change(function () {
//pass div id as a parameter
dynamicAjax("id_StoreNO");
});
//Use that parameter to replace the HTML value based on ajax
function dynamicAjax(storeId){
var url = $("#personForm").attr("data-cities-url");
var ReadingAreaNo = $(this).val();
$.ajax({
url: url,data: {
'ReadingArea': ReadingAreaNo
},success: function (data) {
//dynamic HTML replacement based on the id
$("#"+storeId).html(data);
}
});
}
</script>
tr 和 td 的数量可以不同,因为有多个表,我需要这样的 xpath 格式:
<table class="">
<tbody class>
<tr class>
<tr class>
<tr class>
<td>
<span>Series</span>
<td>CAT5</td>
我是这样试的,但是每次的 tr 顺序都不一样,唯一不变的是值总是在表中的 Series 行
//table[@class="info-table specifications-table"]/tbody/tr/td/span[contains(text(),'Series')]/....
Table looks like this and the Series can be on different position from top to bottom
解决方法
您可以使用 textContent(或 innerHTML)来获得所需的结果:
解决此问题的 xpath 使用 parent selector like described here:
//table[@class="info-table specifications-table"]/tbody/tr/td/span[contains(text(),'Series')]/parent::td/following-sibling::td
document.querySelectorAll('tr td:nth-child(2)').forEach(td => console.log(td.textContent))
<table class="">
<tbody class>
<tr class>
<td>
<span>Series</span>
</td>
<td>CAT5</td>
</tr>
<tr class>
<td>
<span>Series</span>
</td>
<td>CAT1</td>
</tr>
</tbody>
</table>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。