Я использовал ответ Дмитрия Новатчева, но потом наткнулся на проблему, описанную автором темы:
не потомок из a
, style
или script
Ответ Димитра исключает тег style
, но включает его дочерние элементы.Эта версия исключает также style
, script
, noscript
теги и их потомков:
//div[@id='???']//*[not(ancestor-or-self::script or ancestor-or-self::noscript or ancestor-or-self::style)]/text()
В любом случае, благодаря Димитру Новачеву.