Skip to content

refactor: pydoll v2 #132

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 162 commits into from
Jun 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
4eec595
refactor: refactor the `InputCommands` class to enhance clarity and s…
thalissonvs Apr 22, 2025
7a6b291
refactor: rename insert_text to paste_text and remove unused files
thalissonvs Apr 22, 2025
3e04c0d
refactor: move command files to the protocol directory for better str…
thalissonvs Apr 22, 2025
70ba3f5
refactor: refactor import paths to use the protocol submodule structure
thalissonvs Apr 22, 2025
cc7c8fe
refactor: refactor element imports and remove deprecated element file
thalissonvs Apr 22, 2025
9e1b6af
refactor: refactor browser modules to use the new chromium structure
thalissonvs Apr 22, 2025
849623b
refactor: refactor BrowserType import to a common constants module
thalissonvs Apr 22, 2025
472bea7
refactor: refactor connection imports and rename manager files for cl…
thalissonvs Apr 22, 2025
8cce6ef
refactor: refactor browser command constants to use Command class type
thalissonvs Apr 26, 2025
5d5090f
refactor: refactor command structures and introduce base CommandParam…
thalissonvs Apr 26, 2025
2faad4a
feat: add response classes for browser window target retrieval
thalissonvs Apr 26, 2025
12829a3
refactor: refactor command methods to specify response types in Brows…
thalissonvs Apr 26, 2025
5e18727
refactor: refactor execute_command to use type annotations for clarity
thalissonvs Apr 26, 2025
fa38502
refactor: add command and response types for protocol implementation
thalissonvs Apr 26, 2025
00eab4f
refactor: add browser command methods for version, permissions, and d…
thalissonvs Apr 26, 2025
13a6d7f
refactor: refactor imports for better organization and readability
thalissonvs Apr 26, 2025
a832393
refactor: rename command and response modules for better clarity
thalissonvs Apr 26, 2025
1a34edd
refactor: refactor command structures for better organization and cla…
thalissonvs Apr 26, 2025
4aecaae
refactor: remove unused enum imports and rename base_types module
thalissonvs Apr 26, 2025
7910ddd
refactor: add enums for window states, download behaviors, and permis…
thalissonvs Apr 26, 2025
280daa8
refactor: refactor fetch command templates to use Command class
thalissonvs Apr 26, 2025
a9b8ce9
feat: add enums for cookie priorities, connection types, and encodings
thalissonvs Apr 27, 2025
eaa4c48
refactor: refactor import statement for CommandParams module path
thalissonvs Apr 27, 2025
c457935
refactor: refactor import and rename EnableParams to FetchEnableParams
thalissonvs Apr 27, 2025
ea6f01f
feat: add network command types and parameters for cookie management
thalissonvs Apr 27, 2025
25c459f
feat: organize command types into structured imports and exports
thalissonvs Apr 27, 2025
70b9b91
refactor: refactor import statements for consistency in response types
thalissonvs Apr 27, 2025
d66c6c6
refactor: refactor import statements for better readability and struc…
thalissonvs Apr 27, 2025
5fd8a85
feat: add TypedDict definitions for network response types
thalissonvs Apr 27, 2025
4e8169e
refactor: refactor response imports and update __all__ definitions
thalissonvs Apr 27, 2025
d591905
refactor: refactor BrowserCommands to use static methods and improve …
thalissonvs Apr 27, 2025
8458ecf
refactor: refactor fetch command methods to use static methods directly
thalissonvs Apr 27, 2025
27b1a15
refactor: refactor NetworkCommands to use structured command parameters
thalissonvs Apr 27, 2025
835236c
refactor: correct post_data type from dict to str in FetchCommands class
thalissonvs Apr 27, 2025
2a4f62a
fix: change postData type from dict to string in ContinueRequestParams
thalissonvs Apr 27, 2025
227b427
feat: add new command parameter classes for network resource handling
thalissonvs Apr 27, 2025
f44d6a3
feat: add typed dictionaries for various page command parameters
thalissonvs Apr 27, 2025
d6baa0f
refactor: consolidate command imports using wildcard imports for clarity
thalissonvs Apr 27, 2025
37552c3
refactor: add new response types and update existing response classes
thalissonvs Apr 27, 2025
b2c15b5
feat: add TypedDict definitions for page response types and results
thalissonvs Apr 27, 2025
1d68bc7
refactor: simplify import statements by using wildcard imports for re…
thalissonvs Apr 27, 2025
8c67f09
feat: add constants for various encoding, formats, and policies
thalissonvs Apr 27, 2025
d9712a7
fix: add new network command parameters and methods for cookies
thalissonvs Apr 27, 2025
be0a7dc
refactor: refactor PageCommands to improve structure and add type hints
thalissonvs Apr 27, 2025
625b001
fix: fix typo in USB_UNRESTRICTED constant for consistency
thalissonvs Apr 27, 2025
7259362
refactor: update ResetPermissionsParams to use NotRequired for contex…
thalissonvs Apr 27, 2025
07b9cf2
refactor: remove unused method to clear accepted encodings in network…
thalissonvs Apr 27, 2025
b7c045a
feat: add initial runtime command types for protocol handling
thalissonvs May 1, 2025
022c7fe
feat: add runtime response types for handling various object previews
thalissonvs May 1, 2025
89ae0fe
refactor: add new runtime command methods for JavaScript bindings and…
thalissonvs May 1, 2025
18cc01d
feat: add new enumeration classes for serialization and object types
thalissonvs May 1, 2025
1eb2755
style: code format with ruff
thalissonvs May 1, 2025
0af6ac4
build: update line length setting in Ruff to 100 characters
thalissonvs May 1, 2025
a18a39e
feat: add storage command types using TypedDict for structured params
thalissonvs May 4, 2025
78faca4
feat: add storage response types and related classes for handling data
thalissonvs May 4, 2025
d88fa48
feat: enhance StorageCommands with new methods for data management
thalissonvs May 4, 2025
70d53b1
refactor: add CookieParam TypedDict to define cookie attributes
thalissonvs May 4, 2025
ff15701
feat: add storage-related enumerations for bucket durability and types
thalissonvs May 4, 2025
b66bbf3
feat: add TypedDict definitions for target command parameters
thalissonvs May 4, 2025
3e49c3f
feat: add TypedDicts for target response types and browser contexts
thalissonvs May 4, 2025
ac1c22d
feat: enhance TargetCommands class with new methods for targets manag…
thalissonvs May 4, 2025
4ece2ef
feat: add input command types for touch, mouse, and keyboard events
thalissonvs May 4, 2025
4e86391
refactor: refactor InputCommands to enhance user input simulation met…
thalissonvs May 4, 2025
bd68e09
feat: add enums for key, mouse, touch, and drag event types
thalissonvs May 4, 2025
445560a
feat: add DOM command types and parameter definitions for pydoll
thalissonvs May 4, 2025
0778c75
feat: add DOM response types and corresponding response classes
thalissonvs May 4, 2025
f90efe3
refactor: refactor DOM commands to improve structure and add function…
thalissonvs May 4, 2025
0a0082b
feat: add new enums for whitespace, axes, pseudo types, and modes
thalissonvs May 4, 2025
da36b3b
refactor: remove unnecessary whitespace in docstring of InputCommands…
thalissonvs May 4, 2025
1825b1e
refactor: refactor cookie-related types for improved clarity and cons…
thalissonvs May 4, 2025
6f0df81
refactor: import Rect from dom_commands_types for response handling
thalissonvs May 4, 2025
952fe69
refactor: define base structures for commands and responses in protocol
thalissonvs May 5, 2025
8fca1d2
refactor: move commands to a different module
thalissonvs May 5, 2025
5674ac4
fix: remove target directory from .gitignore file
thalissonvs May 5, 2025
86ef509
refactor: refactor Browser class to enhance automation capabilities a…
thalissonvs May 24, 2025
c503229
docs: enhances BrowserOptionsManager with detailed docstrings and typ…
thalissonvs May 24, 2025
ff64dc7
docs: enhance BrowserProcessManager with detailed lifecycle management
thalissonvs May 24, 2025
c576d45
refactor: refactor ProxyManager to enhance proxy credential handling
thalissonvs May 24, 2025
af6b16f
refactor: enhance TempDirectoryManager with detailed docstrings and t…
thalissonvs May 24, 2025
a5f3b54
refactor: add Tab class for managing browser tabs via CDP integration
thalissonvs May 26, 2025
edaef30
refactor: refactor ConnectionHandler to improve WebSocket management …
thalissonvs May 26, 2025
d4928d0
refactor: refactor command and event managers for improved type safety
thalissonvs May 26, 2025
273683f
refactor: refactor ConnectionHandler docstrings for clarity and conci…
thalissonvs May 26, 2025
0c4a890
refactor: refactor Tab import and update FetchCommands method calls
thalissonvs May 26, 2025
d76e773
style: refactor import order and clean up whitespace in docstrings
thalissonvs May 26, 2025
9168b42
docs: refactor proxy manager docstring for clarity and conciseness
thalissonvs May 26, 2025
46142c2
refactor: refactor command imports and enhance download behavior method
thalissonvs May 26, 2025
b948fc4
refactor: refactor import statements and clean up code formatting
thalissonvs May 26, 2025
1016d03
refactor: refactor WebElement class for improved structure and clarity
thalissonvs May 26, 2025
b311300
refactor: refactor element finding methods to use updated command str…
thalissonvs May 26, 2025
bc9a29b
docs: refactor docstrings for clarity and detail in mixin methods
thalissonvs May 26, 2025
d2b5d17
refactor: refactor exception classes to improve organization and clarity
thalissonvs May 26, 2025
59714a6
refactor: refactor browser error handling and improve method return t…
thalissonvs May 26, 2025
61f8620
refactor: raise UnsupportedOS exception for unsupported operating sys…
thalissonvs May 26, 2025
6cb7573
refactor: handle unsupported OS with a custom exception in Edge class
thalissonvs May 26, 2025
4964df4
refactor: refactor error handling to use specific exceptions for clarity
thalissonvs May 26, 2025
0b85e9a
refactor: fix PermissionError raising in TempDirectoryManager class
thalissonvs May 26, 2025
92405b1
refactor: refactor error handling to use custom exception for arguments
thalissonvs May 26, 2025
f8d617a
refactor: refactor error handling to use specific exceptions for clarity
thalissonvs May 26, 2025
35e2386
refactor: remove unused import statements in events_manager.py
thalissonvs May 26, 2025
21e0190
refactor: refactor exception handling to use custom timeout and conne…
thalissonvs May 26, 2025
dc7729b
refactor: refactor exception handling in FindElementsMixin class
thalissonvs May 26, 2025
3796b83
refactor: refactor WebElement class to organize exception imports cle…
thalissonvs May 26, 2025
8942fb9
refactor: refactor response classes to use TypedDict for better typing
thalissonvs May 26, 2025
db88943
refactor: add Response import to page_commands for improved functiona…
thalissonvs May 26, 2025
bf32cbe
refactor: remove unused import of Response in runtime_commands.py
thalissonvs May 26, 2025
265ea08
refactor: update event callback signatures for better type handling
thalissonvs May 26, 2025
fb024e6
refactor: add runtime events management to the Tab class functionality
thalissonvs May 26, 2025
d917401
feat: add methods to enable and disable the runtime domain commands
thalissonvs May 26, 2025
6b61f71
refactor: refactor EventsManager to use typed Event objects consistently
thalissonvs May 26, 2025
22d1140
refactor: simplify ping call by inlining WebSocketClientProtocol cast
thalissonvs May 26, 2025
7abc765
feat: add BrowserEvent enum for Chrome DevTools protocol events
thalissonvs May 26, 2025
8ef0a6a
feat: add DomEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
172e49b
feat: add FetchEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
5de5178
feat: add InputEvent enum for Chrome DevTools input events
thalissonvs May 26, 2025
9357f32
feat: add NetworkEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
6dd8a0f
feat: add PageEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
d9e3ba1
feat: add RuntimeEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
45d723e
feat: add StorageEvent enumeration for Chrome DevTools Protocol events
thalissonvs May 26, 2025
f4a78d5
feat: add TargetEvent enum for Chrome DevTools Protocol events
thalissonvs May 26, 2025
fb58b8c
feat: add Event TypedDict for standardized event structure
thalissonvs May 26, 2025
8003cd1
feat: refactor Keys class to Key and add utility methods for enums
thalissonvs May 26, 2025
db115dd
refactor: refactor type hints for event callback parameters and options
thalissonvs May 28, 2025
680485e
feat: intuitive way to interact with iframes
thalissonvs May 28, 2025
e579332
refactor: rename method for better clarity in captcha element handling
thalissonvs May 28, 2025
d7af0f8
refactor: refactor element finding methods for enhanced flexibility a…
thalissonvs May 28, 2025
cf533a5
docs: add detailed docstrings for XPath and selector methods
thalissonvs May 28, 2025
47a9a7e
refactor: refactor message handling to support multiple message types
thalissonvs May 28, 2025
40aeaae
refactor: use `message.get('id')` for safer ID checks in response
thalissonvs May 28, 2025
eb23565
style: refactor method signatures and clean up docstring formatting
thalissonvs May 28, 2025
d4a3799
build: add mypy exclusion for test directory in configuration file
thalissonvs May 28, 2025
0e170be
ci: add MyPy CI workflow for type checking Python code
thalissonvs May 28, 2025
3e443b1
ci: add type installation step for mypy in workflow configuration
thalissonvs May 28, 2025
91ead61
build: update mypy configuration to install types for pydoll package
thalissonvs May 28, 2025
6e2d4e8
build: update mypy installation command to include the -y flag
thalissonvs May 28, 2025
5ce42fd
build: update mypy workflow to install types non-interactively
thalissonvs May 28, 2025
0467604
refactor: add abstract base classes for browser options management
thalissonvs Jun 4, 2025
420c76a
refactor: refactor to create ChromiumOptionsManager for better clarity
thalissonvs Jun 4, 2025
bcfa56b
refactor: refactor Options class to ChromiumOptions and use type hints
thalissonvs Jun 4, 2025
a966251
refactor: refactor Browser class to use options manager and improve m…
thalissonvs Jun 4, 2025
b90ba2c
refactor: refactor Chrome class to use Chromium-specific options manager
thalissonvs Jun 4, 2025
c77c3a9
refactor: refactor Edge class to use ChromiumOptionsManager and simpl…
thalissonvs Jun 4, 2025
0cf9779
refactor: rename BrowserOptionsManager to ChromiumOptionsManager
thalissonvs Jun 4, 2025
12af782
refactor: refactor exception handling and add browser path validation…
thalissonvs Jun 4, 2025
6b5ab76
docs: refine documentation for clarity and conciseness
thalissonvs Jun 6, 2025
cac434b
refactor: refactor condition checks to ensure against None values
thalissonvs Jun 7, 2025
1b5b93b
test: rename test file and update imports for better organization
thalissonvs Jun 7, 2025
5d4e900
build: pin ruff version to 0.7.1 for consistent CI checks
thalissonvs Jun 7, 2025
962265f
refactor: refine XPath condition handling and ensure integer coordinates
thalissonvs Jun 7, 2025
b3e1a74
test: add comprehensive tests for FindElementsMixin methods
thalissonvs Jun 7, 2025
23f7155
ci: remove outdated Python versions from CI workflow matrix
thalissonvs Jun 7, 2025
8d92f98
refactor: refactor type hints from List to built-in list for consistency
thalissonvs Jun 7, 2025
75c6e50
test: add tests for window ID retrieval and valid tab ID filtering
thalissonvs Jun 7, 2025
d439622
docs: update README to highlight new features and breaking changes
thalissonvs Jun 7, 2025
37befc1
docs: update README with new logo and streamlined feature descriptions
thalissonvs Jun 7, 2025
3964657
docs: add MyPy CI badge to the README for better visibility
thalissonvs Jun 7, 2025
8f2fd92
docs: remove link to "Breaking Changes" from the README
thalissonvs Jun 7, 2025
9a7aea5
refactor: refactor screenshot path handling and enhance error checking
thalissonvs Jun 8, 2025
a33bced
test: rename screenshot methods for clarity and consistency
thalissonvs Jun 8, 2025
ad3201b
docs: add documentation for browser classes and command modules
thalissonvs Jun 8, 2025
7b11423
docs: enhance README and mkdocs with improved clarity and structure
thalissonvs Jun 8, 2025
757c3a3
Merge branch 'main' into refactor/v2
thalissonvs Jun 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: MyPy CI

on:
push:
branches:
- '*' # matches every branch that doesn't contain a '/'
- '*/*' # matches every branch containing a single '/'
- '**' # matches every branch
pull_request:

jobs:
build:

runs-on: ubuntu-latest

strategy:
max-parallel: 4
matrix:
python-version: ["3.11"]

steps:
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install mypy
python -m pip install -e .
python -m mypy --install-types --non-interactive pydoll

- name: mypy
run: python -m mypy .
2 changes: 1 addition & 1 deletion .github/workflows/ruff-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install ruff
python -m pip install ruff==0.7.1

- name: ruff
run: python -m ruff check .
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ docs/_build/

# PyBuilder
.pybuilder/
target/


# Jupyter Notebook
.ipynb_checkpoints
Expand Down
Loading
Loading