Javascript 如何使用Puppeter获取HTML元素文本

Javascript 如何使用Puppeter获取HTML元素文本,javascript,html,node.js,puppeteer,innertext,Javascript,Html,Node.js,Puppeteer,Innertext,这个问题肯定被问了很多次,但我到处都找了,没有一个答案对我有用 因此,我有以下部门: <div class="dataTables_info" id="dt-card-entry_info" role="status" aria-live="polite"> Showing 1 to 20 of 761,871 entries <span class="select-inf

这个问题肯定被问了很多次,但我到处都找了,没有一个答案对我有用

因此,我有以下部门:

<div class="dataTables_info" id="dt-card-entry_info" role="status" aria-live="polite">
    Showing 1 to 20 of 761,871 entries
    <span class="select-info">
        <span class="select-item">
            1 row selected
        </span>
        <span class="select-item">
            
        </span>
        <span class="select-item">
            
        </span>
    </span>
</div>
而且

 const text = await page.evaluate(() => {
        const el = document.querySelector('#dt-card-entry_info')
        return el.innerText
    })
在浏览器控制台中,此操作可用于:

$('#dt-card-entry_info').text()
还有:

$('#dt-card-entry_info')[0].innerText
或者这个:

$('#dt-card-entry_info')[0].textContent
你可以用

您需要文本内容,因此请使用:

var res=document.getElementById('dt-card-entry_info').textContent

您的方法可以这样使用:

const text = await page.evaluate(() => {
        const el = document.getElementById('dt-card-entry_info');
        return el.textContent;
    })
我不喜欢
const
def中的wait pageEval,因此我会在eval的范围之外更改它

这是因为pageval是一个承诺,所以您需要依次返回字符串内容的承诺


你可以在这里使用它:

你可以试试
文档吗。getElementById('dt-card-entry_info')
浏览器控制台有jQuery可用,但Puppeter没有,我如何获取文本?我怀疑它与嵌套的
span
元素有关。
const text = await page.evaluate(() => {
        const el = document.getElementById('dt-card-entry_info');
        return el.textContent;
    })
let text = '';
await page.evaluate(() => {
    const el = document.getElementById('dt-card-entry_info');
    text = el.textContent;
})
console.log(text);