This repository contains a Python script that automates task assignments using Selenium WebDriver. The script:
- Reads a JSON file with email IDs and task counts.
- Navigates to a web application and performs the necessary interactions to assign tasks.
- Updates the JSON file to set the task count to zero after assignment.
- Maintains logs of task assignments, including dates and details.
- Automated Web Interaction: Utilizes Selenium WebDriver to interact with web elements, including input fields, buttons, and checkboxes.
- Dynamic Task Processing: Processes tasks dynamically based on task counts specified in a JSON file.
- Configurable Start Point: Allows starting the task assignment from a specified email ID.
- Error Handling and Logging: Includes robust error handling and logging to track the execution flow and debug issues effectively.
- JSON Data Management: Reads task data from a JSON file and updates the task count after processing each task.
- Python 3.6+
- Selenium
- ChromeDriver
-
Clone the Repository:
git clone https://github.com/Rds2151/Toloka-Bot.git cd Toloka-Bot
-
Install Dependencies:
pip install -r requirements.txt
-
Download ChromeDriver: Download the appropriate version of ChromeDriver for your Chrome browser from here, and place it in the
chromedriver
directory. -
Create a
.env
File: Create a.env
file in the root directory with the following content:username = "[email protected]" password = "" project_link = "" ids_paths="task_data.json" chrome_driver="/home/TokolaBOT/chromedriver-linux64/chromedriver"
-
Update the JSON File: Modify
task_data.json
to include the email IDs and their corresponding task counts. The script will read from this file and update it after processing.{ "[email protected]": "10", "[email protected]": "20", "[email protected]": "30", "[email protected]": "0", "[email protected]": "0", "[email protected]": "0", "[email protected]": "0", "[email protected]": "0" }
-
Run the Script: Execute the script with Python:
python automate_tasks.py
-
Monitor Execution: Check the console output and
selenium_script.log
for detailed logging of the script's execution.
-
Starting Email: Set the
starting_email
variable in the script to the email ID from which you want to begin processing tasks.starting_email = "[email protected]"
-
ChromeDriver Path: Ensure the
chrome_driver_path
variable points to the correct location of your ChromeDriver executable.chrome_driver_path = "/path/to/chromedriver"
Contributions are welcome! Feel free to submit issues and pull requests to improve the functionality and robustness of the script.
This project is licensed under the MIT License.