如何从 html 元素中过滤掉同名的内容
How filter out content from html element with the same name
HTML代码:
<table>
<tbody>
<tr>
<th>Position</th>
<th>City & Province</th>
<th>Country</th>
<th>Salary</th>
</tr>
<tr>...</tr>
<tr>...</tr>
<tr valign="top"><td>content1</td></tr>
<tr>...</tr>
<tr>...</tr>
<tr valign="top"><td>content2</td></tr>
</tbody>
</table>
我正在尝试过滤 'tr' 元素的数组,并且只访问属于具有 'valign' 属性的 'tr' 元素的内容,我想要所有其他元素被忽略。
人偶代码:
const options = await page.$$eval('table tbody tr', (trArray) =>
trArray.map((tr) => tr.valign)
);
//current results = ,,,,,,,,,,,,,,
//expected results = content1,content2
如有任何帮助,我们将不胜感激。
您可以通过选择器 'table tbody tr[valign]'
获得只需要 tr
。要获取内容,请尝试 tr.innerText
:
const options = await page.$$eval('table tbody tr[valign]', (trArray) =>
trArray.map((tr) => tr.innerText)
);
HTML代码:
<table>
<tbody>
<tr>
<th>Position</th>
<th>City & Province</th>
<th>Country</th>
<th>Salary</th>
</tr>
<tr>...</tr>
<tr>...</tr>
<tr valign="top"><td>content1</td></tr>
<tr>...</tr>
<tr>...</tr>
<tr valign="top"><td>content2</td></tr>
</tbody>
</table>
我正在尝试过滤 'tr' 元素的数组,并且只访问属于具有 'valign' 属性的 'tr' 元素的内容,我想要所有其他元素被忽略。
人偶代码:
const options = await page.$$eval('table tbody tr', (trArray) =>
trArray.map((tr) => tr.valign)
);
//current results = ,,,,,,,,,,,,,,
//expected results = content1,content2
如有任何帮助,我们将不胜感激。
您可以通过选择器 'table tbody tr[valign]'
获得只需要 tr
。要获取内容,请尝试 tr.innerText
:
const options = await page.$$eval('table tbody tr[valign]', (trArray) =>
trArray.map((tr) => tr.innerText)
);