JS如何获取节点的最深(最后)子节点

JS How to get the deepest (last) children of a node

我想获取一个节点的所有子节点并在 JS 中对它们使用 .click() 方法。

我没有发现比写这个脚本更好的方法,希望它能帮助别人:

const getLastChildren = (parent: Element): Element[] => {
  return Array.from(parent.children).reduce<Element[]>((acc, node) => {
    const children = Array.from(node.children);
    if (children.length === 0) {
      acc.push(node);
      return acc;
    }
    return [...acc, ...getLastChildren(node)];
  }, []);
};

(没有打字稿):

const getLastChildren = (parent) => {
  return Array.from(parent.children).reduce((acc, node) => {
    const children = Array.from(node.children);
    if (children.length === 0) {
      acc.push(node);
      return acc;
    }
    return [...acc, ...getLastChildren(node)];
  }, []);
};