【问题标题】:Converting mailparser HTML into DOM elements?将 mailparser HTML 转换为 DOM 元素?
【发布时间】:2022-01-13 15:05:24
【问题描述】:

当我得到大量 HTML 代码时,使用 mailparser 如何将它们转换为 DOM 元素?我想访问特定的 HTML 元素。

这是我的代码:

var imaps = require('imap-simple');
const _ = require('lodash');
const simpleParser = require('mailparser').simpleParser;
const cheerio = require('cheerio');

var config = {
    imap: {
        user: 'xxx',
        password: 'xxx',
        host: 'xxx',
        port: 993,
        tls: true,
        authTimeout: 4000
    }
};

imaps.connect(config).then(function (connection) {
    return connection.openBox('INBOX').then(function () {
        var searchCriteria = [
            'UNSEEN'
        ];
        var fetchOptions = {
            bodies: ['HEADER', 'TEXT', ''],
        };
        return connection.search(searchCriteria, fetchOptions).then(function (messages) {
            messages.forEach(function (item) {
                var all = _.find(item.parts, { "which": "" })
                var id = item.attributes.uid;
                var idHeader = "Imap-Id: "+id+"\r\n";
                simpleParser(idHeader+all.body, (err, mail) => {
                    if (mail.subject.indexOf('example.com') > -1) {

                        var dom = mail.html;

                        const $ = cheerio.load(mail.html);
                        var testing = $('span')[0].text();

                      } else {
                        //return false;
                    }
                });
            });
        });
    });
});

我试过用cheerio,但没有运气。如何访问每个 HTML 元素?

谢谢。

【问题讨论】:

    标签: javascript node.js cheerio email-parsing


    【解决方案1】:

    $('span')[0] 不是一个欢呼对象。你可以试试$('span').first().text()

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 2021-04-27
      • 2019-02-24
      • 2011-03-07
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多