我有一个来自document.querySelector.innerHTML的输出,然后推入数组中。我只想过滤里面的数字。删除所有内容,然后告诉我数字。
码:
const games = await page.evaluate(() => {
return [].concat.apply([], document.querySelectorAll('#content-wrapper'))
.map((e) => {
const numbers = [];
for(let i = 1; i <= 10; i++) {
const bets = e.querySelector('#content-wrapper > div > div:nth-child(5) > iv:nth-child('+i+')').innerHTML;
numbers.push({ bets })
}
return {numbers}
})
});
实际产量
{
numbers: '<h4 style="">List 100 </h4>\n' +
'<span>1</span>\n' +
'\n'
'<span>2</span>\n' +
'\n'
'<span class="ok">3</span>\n' +
'\n'
'<span class="ok">4</span>\n' +
'\n'
'<span>5</span>\n' +
'\n'
'<span class="ok">6</span>\n' +
\n'
'<span>7</span>\n' +
'\n'
'<span class="ok">8</span>\n' +
'\n'
'<span class="ok">9</span>\n' +
'\n'
'<span class="ok">10</span>\n' +
'\n'
}
期望的输出
{
List 100,
3,
4,
6,
8,
9,
10
}
使用querySelectorAll方法并forEach
存储所有span
带有类ok
和h4
-textContent
//Get all elements with class ok
let children = document.querySelectorAll('.ok, h4')
//Store data
let store = []
//Foreach data
children.forEach(data => store.push(data.textContent.trim()))
//Console.log
console.log(store)
<div id=container>
<h4 style="">List 100 </h4>
<span>1</span>
<span>2</span>
<span class="ok">3</span>
<span class="ok">4</span>
<span>5</span>
<span class="ok">6</span>
<span>7</span>
<span class="ok">8</span>
<span class="ok">9</span>
<span class="ok">10</span>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句