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)
|
StorageSystemMixin, _StorageTools)
|
||||||
from scrapling.core.translator import HTMLTranslator
|
from scrapling.core.translator import HTMLTranslator
|
||||||
from scrapling.core.utils import (clean_spaces, flatten, html_forbidden,
|
from scrapling.core.utils import (clean_spaces, flatten, html_forbidden,
|
||||||
is_jsonable, log)
|
is_jsonable, log, lru_cache)
|
||||||
|
|
||||||
|
|
||||||
class Adaptor(SelectorsGeneration):
|
class Adaptor(SelectorsGeneration):
|
||||||
@@ -284,6 +284,13 @@ class Adaptor(SelectorsGeneration):
|
|||||||
"""Return the direct parent of the element or ``None`` otherwise"""
|
"""Return the direct parent of the element or ``None`` otherwise"""
|
||||||
return self.__handle_element(self._root.getparent())
|
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
|
@property
|
||||||
def children(self) -> 'Adaptors[Adaptor]':
|
def children(self) -> 'Adaptors[Adaptor]':
|
||||||
"""Return the children elements of the current element or empty list otherwise"""
|
"""Return the children elements of the current element or empty list otherwise"""
|
||||||
|
|||||||
Reference in New Issue
Block a user