в вашем вопросе.

ел объект с определенным классом:

THREAD = TREE.find_class('thread')[0]

Теперь я хочу получить все<p>&nbsp;элементы, которые являются его прямыми детьми.

Я устал:

THREAD.findall("p")

THREAD.xpath("//div[@class='thread']/p")

Но все это возвращает все<p>&nbsp;элементы внутри этого<div>независимо от того, что это<div>&nbsp;их ближайший родитель или нет.

Как я могу заставить это работать?

Редактировать:

Пример HTML

<div class='thread'>
   <p> <!-- 1 -->
      <!-- Can be some others <p> objects inside, which should not be counted -->
   </p> 
   <p><!-- 2 --></p>
</div>
<div class='thread'>
   <p>[...]</p>
   <p>[...]</p>
</div>

скрипт должен найти два объекта<p>, которые являются детьмиTHREAD, Я должен получить список из двух объектов, помеченных как «1» и «2» в комментариях в примере HTML.

Изменить 2:

Еще одно уточнение, поскольку люди запутываются:

THREAD&nbsp;некоторый объект, хранящийся в переменной, может быть любым элементом html. хочу найти<p>&nbsp;объекты, которые являются прямыми детьмиTHREAD, Те<p>не может быть снаружиTHREAD&nbsp;или внутри любого элемента, который также внутриTHREAD.