【发布时间】:2020-07-13 22:23:08
【问题描述】:
我正在尝试进行一些网络抓取,以读取 html 页面中的一些行。我需要查找在某些<span> 元素内的页面中重复的文本。在下面的示例中,我想以 ['Text number 1','Text number 2','Text number 3']
<html>
...
<span>Text number 1</span>
...
<span>Text number 2</span>
...
<span>Text number 3</span>
...
</html>
我有以下代码
sElements = ' ... span'; // I declare the selector.
cs = await page.$$(sElements); // I get an array of ElementHandle
选择器的工作方式与 Google Chrome 开发者工具中的一样,它准确地捕获了我正在寻找的 3 个元素。 cs 变量也填充了三个元素的数组。但后来我正在尝试
for(c in cs)
console.log(c.innerText);
但未定义已记录。我试过 .text .value .innerText .innerHTML .textContent ...我不知道我错过了什么,因为我认为这真的很简单
我也尝试过,结果相同。
cs = await page.$$eval(sElements, e => e.innerHTML);
【问题讨论】: