Web抓取仅在特定课程之后才出现的课程

时间:2019-05-16 18:47:58

标签: node.js puppeteer

这是我要抓取的html的简化示例:

<td class='goal'>
    <div>
        <span>
            <span>
                <span class='cellValue'>

我想抓取“ cellValue”类下的值,但是我的html中有很多不相关的值。我只想抓取那些在“目标”课程之后出现的内容。

谁能告诉我该怎么做?我正在使用puppeteer,并且尝试了以下操作:

我尝试过类似的事情:

let goals = document.querySelectorAll('.goal > .cellValue')

let goals = document.querySelectorAll('.goal.cellValue')

没有任何帮助。请帮助:)

谢谢

1 个答案:

答案 0 :(得分:1)

您的选择器应为.goal .cellValue

let goals = document.querySelectorAll('.goal .cellValue')

.goal > .cellValue将只选择其直接父元素具有类.cellValue的类.goal的元素。由于在您的情况下两者之间有多个祖先,因此您需要更广泛的.goal .cellValue查询。

此外,.goal.cellValue选择包含两个类的元素。希望这会有所帮助!