Node.js puppeteer - 获取由 br 分隔的内容并将项目存储在单独的变量中

标签 node.js puppeteer

我正在使用 node.js 和 puppeteer 来获取一些数据。如何将元素的内容(由换行符 <br> 分隔)保存在两个单独的变量中?

这就是我正在查看的 HTML:

<table summary="">
    <tbody>
        <tr nowrap="nowrap" valign="top" align="left">
            <td nowrap="nowrap">2018-08-14<br>16:35:41</td>
        </tr>
    </tbody>
</table>

我正在获取这样的 td 内容(app.js):

let tableCell04;
let accepted;

tableCell04 = await page.$( 'body div table tr td' );
accepted = await page.evaluate( tableCell04 => tableCell04.innerText, tableCell04 );

console.log('Accepted: '+accepted);

控制台的输出是:

Accepted: 2018-08-14
16:35:41

但是我想要的是将换行符分隔的内容存储在两个单独的变量中,以便我得到这样的内容:

Accepted_date: 2018-08-14
Accepted_time: 16:35:41

最佳答案

您好,您可以使用tableCell04.innerHTML来获取html而不是纯文本。

accepted = await page.evaluate( tableCell04 => tableCell04.innerHTML, tableCell04 );

const [Accepted_date, Accepted_time] = accepted.split('<br>');

关于Node.js puppeteer - 获取由 br 分隔的内容并将项目存储在单独的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51855508/

相关文章:

javascript - 使用 SHA256 和 .NET/Node.js 对密码进行哈希处理

node.js - 如何将 Node 缓冲区转换为字符串,如 console.log show

javascript - Puppeteer 视口(viewport)设置在创建 PDF 时无效

node.js - 为什么当我使用 "waitForSelector"时 Puppeeteer 导致我的测试套件挂起 30 秒,即使我在页面和浏览器上调用 "close"?

javascript - 无法使用 Puppeteer Js 选择下拉值

node.js - puppeteer - 确定 reCaptcha 挑战何时变得活跃/可见

javascript - 使用 GitHub API 编辑提交消息并将其添加到文件

mysql - BDD 测试 REST/JSON-RPC API

javascript - 在 node.js 应用程序中使用 $or 运算符的命令行参数有什么问题?

javascript - 是否有事件监听器来检查是否已将 childElements 添加到元素中