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);