小编usu*_*rio的帖子

如何使用Puppeteer读取span元素的值

我正在尝试做一些网页抓取工作,以读取html页面中的某些行。我需要查找在某些<span>元素内的页面中重复出现的文本。在下面的示例中,我想以[[文本编号1],'文本编号2','文本编号3']组成的字符串数组结尾

<html>
    ...
    <span>Text number 1</span>
    ...  
    <span>Text number 2</span>
    ...
    <span>Text number 3</span>
    ...
</html>
Run Code Online (Sandbox Code Playgroud)

我有以下代码

sElements = ' ... span'; // I declare the selector.
cs = await page.$$(sElements); // I get an array of ElementHandle
Run Code Online (Sandbox Code Playgroud)

选择器的工作方式与Google Chrome开发人员工具中的工作方式完全一样,它可以捕获我正在寻找的3个元素。同样,cs变量由三个元素组成的数组填充。但是我正在尝试

for(c in cs)
    console.log(c.innerText);
Run Code Online (Sandbox Code Playgroud)

但未定义会被记录。我尝试使用.text .value .innerText .innerHTML .textContent ...我不知道我缺少什么,因为我认为这真的很简单

我也尝试过使用相同的未定义结果。

cs = await page.$$eval(sElements, e => e.innerHTML);
Run Code Online (Sandbox Code Playgroud)

node.js puppeteer

2
推荐指数
1
解决办法
1746
查看次数

标签 统计

node.js ×1

puppeteer ×1