【发布时间】:2019-10-28 08:41:56
【问题描述】:
Node-red 节点,用于与旧的通风系统集成,使用屏幕抓取,nodejs 和cheerio。现在可以很好地获取一些值,但我似乎无法在更复杂的结构化中获取正确的元素,告诉哪个操作模式处于活动状态。附结构截图。是的,从来没有用过 jquery,而且是个 Cheerio 上的新手。
如果它在树的某个部分内,我已经设法获得值,方法很复杂。
const msgResult = scraped('.control-1');
const activeMode = msgResult.get(0).children.find(x => x.attribs['data-selected'] === '1').attribs['id'];
但仅适用于第一次匹配,如果数据选择 === 1 不在树的该部分中,则失败。以为我应该能够从树的顶部使用 .find ,但没有匹配项。
const activeMode = scraped('.control-1').find(x => x.attribs['data-selected'] === '1')
我想从附加的 html 结构中得到的是具有 data-selected=1 的 div 的 ID,它也可以位于 control-1 类的两个 div 中的任何一个之下。也可能是底层跨度的内容,模式在文本中描述。
【问题讨论】: