xpath - 如何在xpath的另一个表中排除一个表?
问题描述
我有以下 html 文件:
<table class="pd-table">
<caption> Tech </caption>
<tbody>
<tr data-group="1">
<td> Electrical </td>
<td> Design </td>
<tr data-group="1">
<td> Output </td>
<td> Function </td>
<tr data-group="7">
<td> EMC </td>
<table>
<tbody>
<tr>
<td> EN 6547 ESD </td>
<td> EN 8901 ESD </td>
<tr data-group="8">
<td> Weight [8] </td>
<td> 27.7 </td>
我可以使用以下 xpath 隔离 EN 6547 ESD 和 EN 8901 ESD:
//table[@class="pd-table"]//tbody//tr//td/table//tr//td/text()').getall()
任何其他方式总是受欢迎的:)
我想获得的另一个数据是在没有先前隔离的情况下获取所有其余数据。
有什么办法吗?:)
解决方案
看起来table
标签没有正确关闭......无论如何,在这种情况下,您可以使用或data-group-7
坚持单元格的文本内容contains()
text()="some exact text"
response.xpath('//td[contains(text(), "EMC")]').css('td~table tbody td::text').extract()
推荐阅读
- ios - 如何对齐自定义 UITableViewCells 中的标签?
- python - Python:正则表达式从遵循特定模式的文件名中提取字符串
- reactjs - TypeScript 可区分联合不会为不存在的字段提供错误
- authentication - ktpass命令是否禁用密码认证
- java - 如何在 Json 字段之间添加换行符和适当的选项卡?
- javascript - 如何从元素集中获取具有特定类的项目,然后计算它是元素集的数量?
- powershell - 通过 powershell 查询 SSAS 表格的最佳方法
- python - Amazon Lex 在 2 或 3 分钟后将状态从 Ready 更改为 NOT_BUILD
- python - 打开大 CSV 文件,删除一行,然后保存副本
- sql - 将 select 语句声明为变量时的语法问题