Commit Graph

9 Commits

Author SHA1 Message Date
kinoshitakenta 953b6ab909
feat: improves element click handling
Adds retry logic to handle `ElementClickInterceptedException`.

This change enhances the robustness of element clicking by implementing a retry mechanism with a timeout.
It addresses the issue where clicks are sometimes intercepted (such as scrolling up and down on the page), preventing the action from succeeding.
2025-06-12 16:29:28 +08:00
kinoshitakenta 77054f1d84
docs: adds documentation to login function
Adds a detailed docstring to the `keep_login_status` function,
clarifying its purpose, arguments, return value, and behavior
during login attempts.
2025-06-12 16:26:41 +08:00
kinoshitakenta 6523fecb5a
feat: improves login status handling
Ability to further handle pop-up windows when login attempts are unsuccessful.

Modified the return value of the `keep_login_status` function to indicate whether the operation was successful or failed.
In case of a failure, no further command actions will be executed.
2025-06-12 16:25:26 +08:00
kinoshitakenta e32063e2ce
refactor: uses constants for EIP login elements
Refactors the code to use constants for EIP URL and HTML element IDs, improving code maintainability and readability.
This change replaces hardcoded strings with named constants, making it easier to update element identifiers if they change on the EIP website.
2025-05-28 15:33:05 +08:00
kinoshitakenta cfd1e5e61a
feat: validates required fields in login configuration
Adds validation to ensure that all required fields ("lang", "login_ID", "login_passwd", "company_ID") are present in the login_info section of the configuration file.

Raises a ValueError if any required field is missing, improving error handling and preventing potential issues
due to incomplete configuration.
2025-05-28 15:33:03 +08:00
kinoshitakenta ef204f1aae
chore: improved compatibility with Python 3.11 and above
Uses `tomllib` when available for Python 3.11+ and falls back to `tomli` for older versions.

This avoids deprecation warnings and ensures compatibility across different Python versions.
2025-05-28 13:19:31 +08:00
kinoshitakenta 0b80ee79b1
feat: automates ChromeDriver management
Updates the ChromeDriver setup to use `webdriver_manager` instead of relying on a local executable. This ensures the correct ChromeDriver version is automatically downloaded and managed, improving reliability and reducing manual configuration.

Removes the now unnecessary `chromedriver.exe` from the `.gitignore` file.
2025-05-19 11:02:58 +08:00
kinoshitakenta f66cf7aeac
feature: log in again after timeout, can handle the correct window 2024-05-30 15:36:23 +08:00
kinoshitakenta e0afd876b6
feature: basic features 2024-05-28 11:45:07 +08:00