【发布时间】:2021-03-09 22:07:24
【问题描述】:
我正在尝试选择包含"month-table_col" 的div 标记(按月份选择)。
...
<div class="month-table">
<div class="month-table_row">
<div class="month-table_col">Jan</div>
<div class="month-table_col">Feb</div>
<div class="month-table_col">Mar</div>
</div>
<div class="month-table_row">
<div class="month-table_col">Apr</div>
<div class="month-table_col">May</div>
<div class="month-table_col">Jun</div>
</div>
<div class="month-table_row">
<div class="month-table_col">Jul</div>
<div class="month-table_col">Aug</div>
<div class="month-table_col">Sep</div>
</div>
<div class="month-table_row">
<div class="month-table_col">Oct</div>
<div class="month-table_col">Nov</div>
<div class="month-table_col">Dec</div>
</div>
</div>
...
这里是用于指定div 标记的XPath 代码,例如,选择具有11 月值的div 标记。
//div[contains(@class, 'month-table_col') and contains(text(), 'Nov')]
在 Google Chrome 控制台中运行以下命令后,
$x("//div[contains(@class, 'month-table_col') and contains(text(), 'Nov')]")
结果:它返回一个包含这样一个元素的数组
[div.month-table_col]
0: div.month-table_col
lastIndex:(...)
lastItem:(...)
length: 1
__proto__:Array(0)
即使我尝试指定索引为 1,它返回的结果与上图相同。
$x("//div[contains(@class, 'month-table_col') and contains(text(), 'Nov')][1]")
返回的结果是正确的,但是如果无论如何我可以将元素作为标签,而不是数组结果。
预期结果:
<div class="month-table_col">Nov</div>
【问题讨论】:
标签: html css xml xpath web-scraping