Profundidade da primeira travessia na árvore de análise BeautifulSoup

Existe uma maneira de fazer uma DFT em uma árvore de análise BeautifulSoup? Eu estou tentando fazer algo como começar na raiz, geralmente, obter todos os elementos filhos e, em seguida, para cada elemento filho, obter seus filhos, etc., até atingir um nó terminal. . O problema é que parece que não consigo encontrar um método que me permita fazer isso. Encontrei o método findChildren, mas isso parece colocar a página inteira em uma lista várias vezes, com cada entrada subsequente sendo reduzida. Talvez eu possa usar isso para fazer uma travessia, mas, além da última entrada da lista, não parece que existe alguma maneira de identificar entradas como nós de terminal ou não. Alguma ideia?