pydoll-python 2.12.1__tar.gz → 2.12.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/PKG-INFO +1 -1
  2. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/managers/temp_dir_manager.py +6 -0
  3. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/elements/web_element.py +16 -8
  4. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pyproject.toml +1 -1
  5. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/LICENSE +0 -0
  6. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/README.md +0 -0
  7. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/__init__.py +0 -0
  8. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/__init__.py +0 -0
  9. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/chromium/__init__.py +0 -0
  10. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/chromium/base.py +0 -0
  11. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/chromium/chrome.py +0 -0
  12. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/chromium/edge.py +0 -0
  13. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/interfaces.py +0 -0
  14. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/managers/__init__.py +0 -0
  15. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/managers/browser_options_manager.py +0 -0
  16. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/managers/browser_process_manager.py +0 -0
  17. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/managers/proxy_manager.py +0 -0
  18. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/options.py +0 -0
  19. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/requests/__init__.py +0 -0
  20. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/requests/request.py +0 -0
  21. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/requests/response.py +0 -0
  22. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/browser/tab.py +0 -0
  23. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/__init__.py +0 -0
  24. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/browser_commands.py +0 -0
  25. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/dom_commands.py +0 -0
  26. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/fetch_commands.py +0 -0
  27. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/input_commands.py +0 -0
  28. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/network_commands.py +0 -0
  29. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/page_commands.py +0 -0
  30. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/runtime_commands.py +0 -0
  31. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/storage_commands.py +0 -0
  32. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/commands/target_commands.py +0 -0
  33. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/connection/__init__.py +0 -0
  34. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/connection/connection_handler.py +0 -0
  35. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/connection/managers/__init__.py +0 -0
  36. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/connection/managers/commands_manager.py +0 -0
  37. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/connection/managers/events_manager.py +0 -0
  38. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/constants.py +0 -0
  39. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/decorators.py +0 -0
  40. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/elements/__init__.py +0 -0
  41. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/elements/mixins/__init__.py +0 -0
  42. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/elements/mixins/find_elements_mixin.py +7 -7
  43. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/exceptions.py +0 -0
  44. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/interactions/__init__.py +0 -0
  45. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/interactions/keyboard.py +0 -0
  46. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/interactions/scroll.py +0 -0
  47. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/__init__.py +0 -0
  48. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/base.py +0 -0
  49. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/browser/__init__.py +0 -0
  50. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/browser/events.py +0 -0
  51. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/browser/methods.py +0 -0
  52. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/browser/types.py +0 -0
  53. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/debugger/types.py +0 -0
  54. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/dom/__init__.py +0 -0
  55. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/dom/events.py +0 -0
  56. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/dom/methods.py +0 -0
  57. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/dom/types.py +0 -0
  58. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/emulation/types.py +0 -0
  59. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/fetch/__init__.py +0 -0
  60. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/fetch/events.py +0 -0
  61. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/fetch/methods.py +0 -0
  62. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/fetch/types.py +0 -0
  63. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/input/__init__.py +0 -0
  64. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/input/events.py +0 -0
  65. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/input/methods.py +0 -0
  66. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/input/types.py +0 -0
  67. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/io/types.py +0 -0
  68. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/network/__init__.py +0 -0
  69. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/network/events.py +0 -0
  70. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/network/methods.py +0 -0
  71. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/network/types.py +0 -0
  72. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/page/__init__.py +0 -0
  73. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/page/events.py +0 -0
  74. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/page/methods.py +0 -0
  75. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/page/types.py +0 -0
  76. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/runtime/__init__.py +0 -0
  77. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/runtime/events.py +0 -0
  78. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/runtime/methods.py +0 -0
  79. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/runtime/types.py +0 -0
  80. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/security/types.py +0 -0
  81. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/storage/__init__.py +0 -0
  82. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/storage/events.py +0 -0
  83. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/storage/methods.py +0 -0
  84. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/storage/types.py +0 -0
  85. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/target/__init__.py +0 -0
  86. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/target/events.py +0 -0
  87. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/target/methods.py +0 -0
  88. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/protocol/target/types.py +0 -0
  89. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/py.typed +0 -0
  90. {pydoll_python-2.12.1 → pydoll_python-2.12.3}/pydoll/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydoll-python
3
- Version: 2.12.1
3
+ Version: 2.12.3
4
4
  Summary: Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions.
5
5
  License-File: LICENSE
6
6
  Author: Thalison Fernandes
@@ -91,6 +91,12 @@ class TempDirectoryManager:
91
91
  '\\network\\cookies',
92
92
  '/network/cookies',
93
93
  'cookies-journal',
94
+ '\\local storage\\',
95
+ '/local storage/',
96
+ '\\local storage\\leveldb\\',
97
+ '/local storage/leveldb/',
98
+ 'leveldb',
99
+ 'indexeddb',
94
100
  ]
95
101
  exc_type, exc_value, _ = exc_info
96
102
 
@@ -928,17 +928,25 @@ class WebElement(FindElementsMixin): # noqa: PLR0904
928
928
  if not attached_session_id:
929
929
  continue
930
930
  frame_tree = await self._get_frame_tree_for(browser_handler, attached_session_id)
931
+ root_frame = (frame_tree or {}).get('frame', {})
932
+ root_frame_id = root_frame.get('id', '')
933
+
934
+ if root_frame_id and backend_node_id is not None:
935
+ owner_backend_id = await self._owner_backend_for(
936
+ self._connection_handler, None, root_frame_id
937
+ )
938
+ if owner_backend_id == backend_node_id:
939
+ return (
940
+ browser_handler,
941
+ attached_session_id,
942
+ root_frame_id,
943
+ root_frame.get('url'),
944
+ )
945
+
931
946
  child_frame_id = WebElement._find_child_by_parent(frame_tree, parent_frame_id)
932
947
  if child_frame_id:
933
948
  return browser_handler, attached_session_id, child_frame_id, None
934
- root_frame_id = (frame_tree or {}).get('frame', {}).get('id', '')
935
- if not root_frame_id or backend_node_id is None:
936
- continue
937
- owner_backend_id = await self._owner_backend_for(
938
- self._connection_handler, None, root_frame_id
939
- )
940
- if owner_backend_id == backend_node_id:
941
- return browser_handler, attached_session_id, root_frame_id, None
949
+
942
950
  return None, None, None, None
943
951
 
944
952
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pydoll-python"
3
- version = "2.12.1"
3
+ version = "2.12.3"
4
4
  description = "Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions."
5
5
  authors = ["Thalison Fernandes <thalissfernandes99@gmail.com>"]
6
6
  readme = "README.md"
File without changes
File without changes
@@ -79,10 +79,10 @@ class FindElementsMixin:
79
79
  tag_name: Optional[str] = ...,
80
80
  text: Optional[str] = ...,
81
81
  timeout: int = ...,
82
- find_all: Literal[True] = True,
83
- raise_exc: Literal[True] = True,
82
+ find_all: Literal[False] = False,
83
+ raise_exc: Literal[False] = False,
84
84
  **attributes,
85
- ) -> list[WebElement]: ...
85
+ ) -> Optional[WebElement]: ...
86
86
 
87
87
  @overload
88
88
  async def find(
@@ -94,9 +94,9 @@ class FindElementsMixin:
94
94
  text: Optional[str] = ...,
95
95
  timeout: int = ...,
96
96
  find_all: Literal[True] = True,
97
- raise_exc: Literal[False] = False,
97
+ raise_exc: Literal[True] = True,
98
98
  **attributes,
99
- ) -> Optional[list[WebElement]]: ...
99
+ ) -> list[WebElement]: ...
100
100
 
101
101
  @overload
102
102
  async def find(
@@ -107,10 +107,10 @@ class FindElementsMixin:
107
107
  tag_name: Optional[str] = ...,
108
108
  text: Optional[str] = ...,
109
109
  timeout: int = ...,
110
- find_all: Literal[False] = False,
110
+ find_all: Literal[True] = True,
111
111
  raise_exc: Literal[False] = False,
112
112
  **attributes,
113
- ) -> Optional[WebElement]: ...
113
+ ) -> Optional[list[WebElement]]: ...
114
114
 
115
115
  @overload
116
116
  async def find(