feat(parser): adding below_elements method
This commit is contained in:
+8
-1
@@ -19,7 +19,7 @@ from scrapling.core.storage_adaptors import (SQLiteStorageSystem,
|
||||
StorageSystemMixin, _StorageTools)
|
||||
from scrapling.core.translator import HTMLTranslator
|
||||
from scrapling.core.utils import (clean_spaces, flatten, html_forbidden,
|
||||
is_jsonable, log)
|
||||
is_jsonable, log, lru_cache)
|
||||
|
||||
|
||||
class Adaptor(SelectorsGeneration):
|
||||
@@ -284,6 +284,13 @@ class Adaptor(SelectorsGeneration):
|
||||
"""Return the direct parent of the element or ``None`` otherwise"""
|
||||
return self.__handle_element(self._root.getparent())
|
||||
|
||||
@property
|
||||
@lru_cache(None, True)
|
||||
def below_elements(self) -> 'Adaptors[Adaptor]':
|
||||
"""Return all elements under the current element in the DOM tree"""
|
||||
below = self._root.xpath('.//*')
|
||||
return self.__handle_elements(below)
|
||||
|
||||
@property
|
||||
def children(self) -> 'Adaptors[Adaptor]':
|
||||
"""Return the children elements of the current element or empty list otherwise"""
|
||||
|
||||
Reference in New Issue
Block a user