【问题标题】:Node Red HTML node to see Inspect instead of View SourceNode 红色 HTML 节点以查看 Inspect 而不是 View Source
【发布时间】:2018-09-30 15:55:57
【问题描述】:

我试图让红色节点转到我的路由器 IP 并搜索 HTML 代码以查看某个设备是否在列表中。当我右键单击 - 检查时,我可以将鼠标悬停在我感兴趣的列表上并查看我正在寻找的 HTML 信息。当我使用 HTML 节点时,它似乎只查看视图页面源信息,其中没有我要查找的内容。我有办法将 HTML 节点指向更具体的元素而不是整个页面源吗?

【问题讨论】:

    标签: html css node-red


    【解决方案1】:

    听起来您的路由器页面中的数据可能是使用 JavaScript 动态生成的。

    这意味着当页面加载时,它只有大纲,其余部分由代码使用 XHResquests 填充到提供信息的不同 URL。

    为了让 Node-RED 能够从页面中提取信息,它需要加载大纲,然后有效地运行所有 JavaScript。 PhantomJS 之类的库

    有一个 contrib 节点可能可以帮助node-red-contrib-nbrowser,但更好的方法可能是计算出 JavaScript 调用的 URL 并直接调用它,因为数据最有可能采用以下格式更易于处理(例如 JSON)

    【讨论】:

    • 谢谢,我能够更进一步找到我应该寻找的网址(我认为)。 Node-red 提取信息,与浏览器上的检查工具相比,我可以跟踪它的输出,但它并没有显示代码的每一层。我可以看到我的信息应该在的确切位置,但它不会下拉该选项卡。我在 HTML 节点中有“*”作为我的选择器,我认为它会显示所有内容。
    • 如果您不确定该 URL,您应该可以使用浏览器中的开发者工具来找到它。打开它并转到网络选项卡,然后浏览到路由器页面并记下它发出的所有 URL 请求。将任何可能的候选人复制到另一个浏览器窗口中,看看哪一个为您提供了所需的数据。但是-您要获取什么数据?如果只是查找连接到网络的设备,node-red-contrib-nmap 之类的东西可能会有所帮助(我自己没用过)。
    • 是的,“stok=...”看起来很像一个身份验证令牌。从 URL 中搜索“luci”表明您可能有一个 OpenWrt 调制解调器。所以我认为你的选择是 node-red-contrib-nbrowsernode-red-contrib-nmap 或 OpenWrt API(我没有这方面的经验)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多