pydoll-python 2.20.2__tar.gz → 2.21.0__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.
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/PKG-INFO +1 -1
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/web_element.py +4 -4
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/keyboard.py +3 -3
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/mouse.py +4 -4
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/scroll.py +3 -3
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pyproject.toml +1 -1
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/LICENSE +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/README.md +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/chromium/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/chromium/base.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/chromium/chrome.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/chromium/edge.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/interfaces.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/browser_options_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/browser_process_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/proxy_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/temp_dir_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/options.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/requests/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/requests/har_recorder.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/requests/request.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/requests/response.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/tab.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/browser_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/dom_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/emulation_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/fetch_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/input_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/network_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/page_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/runtime_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/storage_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/commands/target_commands.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/connection_handler.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/managers/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/managers/commands_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/managers/events_manager.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/constants.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/decorators.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/mixins/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/mixins/find_elements_mixin.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/shadow_root.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/utils/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/elements/utils/selector_parser.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/exceptions.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/iframe.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/interactions/utils.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/base.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/browser/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/browser/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/browser/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/browser/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/debugger/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/dom/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/dom/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/dom/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/dom/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/emulation/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/emulation/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/emulation/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/fetch/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/fetch/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/fetch/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/fetch/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/input/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/input/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/input/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/input/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/io/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/network/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/network/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/network/har_types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/network/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/network/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/page/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/page/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/page/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/page/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/runtime/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/runtime/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/runtime/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/runtime/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/security/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/storage/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/storage/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/storage/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/storage/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/target/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/target/events.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/target/methods.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/protocol/target/types.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/py.typed +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/utils/__init__.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/utils/bundle.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/utils/general.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/utils/socks5_proxy_forwarder.py +0 -0
- {pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/utils/user_agent_parser.py +0 -0
|
@@ -550,7 +550,7 @@ class WebElement(FindElementsMixin): # noqa: PLR0904
|
|
|
550
550
|
x_offset: int = 0,
|
|
551
551
|
y_offset: int = 0,
|
|
552
552
|
hold_time: float = 0.1,
|
|
553
|
-
humanize: bool =
|
|
553
|
+
humanize: bool = False,
|
|
554
554
|
):
|
|
555
555
|
"""
|
|
556
556
|
Click element using simulated mouse events.
|
|
@@ -699,7 +699,7 @@ class WebElement(FindElementsMixin): # noqa: PLR0904
|
|
|
699
699
|
async def type_text(
|
|
700
700
|
self,
|
|
701
701
|
text: str,
|
|
702
|
-
humanize: bool =
|
|
702
|
+
humanize: bool = False,
|
|
703
703
|
interval: Optional[float] = None,
|
|
704
704
|
):
|
|
705
705
|
"""
|
|
@@ -707,11 +707,11 @@ class WebElement(FindElementsMixin): # noqa: PLR0904
|
|
|
707
707
|
|
|
708
708
|
Args:
|
|
709
709
|
text: Text to type into the element.
|
|
710
|
-
humanize: When True
|
|
710
|
+
humanize: When True, simulates human-like typing.
|
|
711
711
|
interval: Deprecated. Use humanize=True instead.
|
|
712
712
|
"""
|
|
713
713
|
logger.info(f'Typing text (length={len(text)}, humanize={humanize})')
|
|
714
|
-
await self.click()
|
|
714
|
+
await self.click(humanize=humanize)
|
|
715
715
|
keyboard = self._get_keyboard()
|
|
716
716
|
await keyboard.type_text(text, humanize=humanize, interval=interval)
|
|
717
717
|
|
|
@@ -184,7 +184,7 @@ class Keyboard:
|
|
|
184
184
|
async def type_text(
|
|
185
185
|
self,
|
|
186
186
|
text: str,
|
|
187
|
-
humanize: bool =
|
|
187
|
+
humanize: bool = False,
|
|
188
188
|
interval: Optional[float] = None,
|
|
189
189
|
):
|
|
190
190
|
"""
|
|
@@ -192,13 +192,13 @@ class Keyboard:
|
|
|
192
192
|
|
|
193
193
|
Args:
|
|
194
194
|
text: Text to type.
|
|
195
|
-
humanize: When True
|
|
195
|
+
humanize: When True, simulates human-like typing with
|
|
196
196
|
variable delays and occasional typos (~2%).
|
|
197
197
|
interval: Deprecated. Use humanize=True instead.
|
|
198
198
|
|
|
199
199
|
Example:
|
|
200
|
+
await tab.keyboard.type_text("Hello World", humanize=True)
|
|
200
201
|
await tab.keyboard.type_text("Hello World")
|
|
201
|
-
await tab.keyboard.type_text("Hello World", humanize=False)
|
|
202
202
|
"""
|
|
203
203
|
if interval is not None:
|
|
204
204
|
warnings.warn(
|
|
@@ -149,7 +149,7 @@ class Mouse:
|
|
|
149
149
|
x: float,
|
|
150
150
|
y: float,
|
|
151
151
|
*,
|
|
152
|
-
humanize: bool =
|
|
152
|
+
humanize: bool = False,
|
|
153
153
|
) -> None:
|
|
154
154
|
"""
|
|
155
155
|
Move mouse cursor to the specified position.
|
|
@@ -172,7 +172,7 @@ class Mouse:
|
|
|
172
172
|
*,
|
|
173
173
|
button: MouseButton = MouseButton.LEFT,
|
|
174
174
|
click_count: int = 1,
|
|
175
|
-
humanize: bool =
|
|
175
|
+
humanize: bool = False,
|
|
176
176
|
) -> None:
|
|
177
177
|
"""
|
|
178
178
|
Click at the specified position.
|
|
@@ -198,7 +198,7 @@ class Mouse:
|
|
|
198
198
|
y: float,
|
|
199
199
|
*,
|
|
200
200
|
button: MouseButton = MouseButton.LEFT,
|
|
201
|
-
humanize: bool =
|
|
201
|
+
humanize: bool = False,
|
|
202
202
|
) -> None:
|
|
203
203
|
"""
|
|
204
204
|
Double-click at the specified position.
|
|
@@ -236,7 +236,7 @@ class Mouse:
|
|
|
236
236
|
end_x: float,
|
|
237
237
|
end_y: float,
|
|
238
238
|
*,
|
|
239
|
-
humanize: bool =
|
|
239
|
+
humanize: bool = False,
|
|
240
240
|
) -> None:
|
|
241
241
|
"""
|
|
242
242
|
Drag from one position to another.
|
|
@@ -67,7 +67,7 @@ class Scroll:
|
|
|
67
67
|
position: ScrollPosition,
|
|
68
68
|
distance: int | float,
|
|
69
69
|
smooth: bool = True,
|
|
70
|
-
humanize: bool =
|
|
70
|
+
humanize: bool = False,
|
|
71
71
|
):
|
|
72
72
|
"""
|
|
73
73
|
Scroll the page by a relative distance in the specified direction.
|
|
@@ -93,7 +93,7 @@ class Scroll:
|
|
|
93
93
|
|
|
94
94
|
await self._execute_script_await_promise(script)
|
|
95
95
|
|
|
96
|
-
async def to_top(self, smooth: bool = True, humanize: bool =
|
|
96
|
+
async def to_top(self, smooth: bool = True, humanize: bool = False):
|
|
97
97
|
"""
|
|
98
98
|
Scroll to the top of the page (Y=0).
|
|
99
99
|
|
|
@@ -109,7 +109,7 @@ class Scroll:
|
|
|
109
109
|
script = Scripts.SCROLL_TO_TOP.format(behavior=behavior)
|
|
110
110
|
await self._execute_script_await_promise(script)
|
|
111
111
|
|
|
112
|
-
async def to_bottom(self, smooth: bool = True, humanize: bool =
|
|
112
|
+
async def to_bottom(self, smooth: bool = True, humanize: bool = False):
|
|
113
113
|
"""
|
|
114
114
|
Scroll to the bottom of the page (Y=document.body.scrollHeight).
|
|
115
115
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "pydoll-python"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.21.0"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/browser_options_manager.py
RENAMED
|
File without changes
|
{pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/browser/managers/browser_process_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydoll_python-2.20.2 → pydoll_python-2.21.0}/pydoll/connection/managers/commands_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|