【发布时间】:2026-01-07 03:45:01
【问题描述】:
如何使用 CasperJS 获取表 'td' 值?
HTML 源代码如下所示:
<table id="my_table">
<tr id='header'>
<th>sth_head_name</th>
<th>ath_head_name</th>
<th>sth_head_name</th>
<th>sth_head_name</th>
<th>sth_head_name</th>
</tr>
<tr>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
</tr>
<tr>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
</tr>
<tr>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
<td>sth_value</td>
</tr>
</table>
我想使用 CasperJS 获取表值。首先,我需要选择表格的行;然后我想得到'td'值。我该如何解决这个问题?
我尝试了很多方法,但都没有奏效。我的解决方案看起来与您在下面看到的类似。重要的是,首先选择'table_rows';然后在 for 循环中选择那个 td 值。
var table_rows = casper.getElementsByXpath("//table[@id='my_table']/tr[not(@id='header')]");
for (var i = 0; i < table_rows.length; i++) {
var firstRequiredCell_query = table_rows[j].getElementByXpath("//td[position()=2]");
var secondRequiredCell_query = table_rows[j].getElementByXpath("//td[position()=4]");
var firstRequiredCell = firstRequiredCell_query.text;
var secondRequiredCell = secondRequiredCell_query.text;
}
【问题讨论】:
标签: javascript html web-scraping casperjs