{"id":15018746,"url":"https://github.com/clointfusion/clointfusion","last_synced_at":"2025-10-23T22:30:44.895Z","repository":{"id":45491928,"uuid":"310180841","full_name":"ClointFusion/ClointFusion","owner":"ClointFusion","description":"Cloint India Pvt. Ltd's (ClointFusion) Pythonic RPA (Automation) Platform","archived":false,"fork":false,"pushed_at":"2022-01-15T03:28:29.000Z","size":50022,"stargazers_count":34,"open_issues_count":0,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-09-22T16:32:21.231Z","etag":null,"topics":["automation","bots","clointfusion-rpa-python-automation","gui","python","python3","robotframework","robots","rpa","software"],"latest_commit_sha":null,"homepage":"https://github.com/ClointFusion/ClointFusion","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClointFusion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2020-11-05T03:30:33.000Z","updated_at":"2023-04-29T02:52:37.000Z","dependencies_parsed_at":"2022-07-19T00:16:58.578Z","dependency_job_id":null,"html_url":"https://github.com/ClointFusion/ClointFusion","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClointFusion%2FClointFusion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClointFusion%2FClointFusion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClointFusion%2FClointFusion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClointFusion%2FClointFusion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClointFusion","download_url":"https://codeload.github.com/ClointFusion/ClointFusion/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867719,"owners_count":16554395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bots","clointfusion-rpa-python-automation","gui","python","python3","robotframework","robots","rpa","software"],"created_at":"2024-09-24T19:52:24.083Z","updated_at":"2025-10-23T22:30:38.975Z","avatar_url":"https://github.com/ClointFusion.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Welcome to \u003cimg src=\"https://raw.githubusercontent.com/ClointFusion/Image_ICONS_GIFs/main/Cloint-LOGO-New.png\" height=\"30\"\u003e , Made in India with \u0026#10084;\u0026#65039; \n\n\u003cbr\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/ClointFusion/Image_ICONS_GIFs/main/CCEW.PNG\"\u003e\n\n\n## Description\n\nCloint India Pvt. Ltd - Python functions for Robotic Process Automation shortly `RPA`.\n\n# What is ClointFusion?\n\nClointFusion is an Indian firm based in Vadodara, Gujarat. ClointFusion is a Python-based RPA platform for developing Software BOTs. Using AI, we're working on Common Man's RPA.\n\n\u003cimg src=\"https://raw.githubusercontent.com/ClointFusion/Image_ICONS_GIFs/main/DOST%20Blocks/Block-GUI.png\"\u003e\n\n#### Check out Project Status\n\n![PyPI](https://img.shields.io/pypi/v/ClointFusion?label=PyPI%20Version) \n![PyPI - License](https://img.shields.io/pypi/l/ClointFusion?label=License) \n![PyPI - Status](https://img.shields.io/pypi/status/ClointFusion?label=Release%20Status) \n![ClointFusion](https://snyk.io/advisor/python/ClointFusion/badge.svg) \n![PyPI - Downloads](https://img.shields.io/pypi/dm/ClointFusion?label=PyPI%20Downloads) \n![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/ClointFusion) \n![PyPI - Format](https://img.shields.io/pypi/format/ClointFusion?label=PyPI%20Format) \n![GitHub contributors](https://img.shields.io/github/contributors/ClointFusion/ClointFusion?label=Contributors) \n![GitHub last commit](https://img.shields.io/github/last-commit/ClointFusion/ClointFusion?label=Last%20Commit) \n\n![GitHub Repo stars](https://img.shields.io/github/stars/ClointFusion/ClointFusion?label=Stars\u0026style=social) \n![Twitter URL](https://img.shields.io/twitter/url?style=social\u0026url=https%3A%2F%2Ftwitter.com%2FClointFusion) \n![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCIygBtp1y_XEnC71znWEW2w?style=social) \n![Twitter Follow](https://img.shields.io/twitter/follow/ClointFusion?style=social)\n\n## Release Notes\n\n- Click here for \u003ca href=\"https://github.com/ClointFusion/ClointFusion/blob/master/Release_Notes.txt\" target=\"_blank\"\u003e Release Notes\u003c/a\u003e\n\n---\n\n# Installation\n\n\u003cbr\u003e\n\n\u003e ### ClointFusion is now supported on Windows / Ubuntu / macOS* !\n\n## Windows :\n\n\u003e ### Windows users can download EXE pre-loaded with Python 3.9 and ClointFusion package: \u003ca href='https://github.com/ClointFusion/ClointFusion/releases/download/v1.0.0/ClointFusion_Community_Edition.exe' target=\"_blank\"\u003eWindows EXE\u003c/a\u003e\n### OR\n\n* ClointFusion is compatible with both Windows 10 and Windows 11.\n* Installing on a Windows PC is a breeze.\n* Make certain that Python 3.8 or Python 3.9 is installed.\n* Then, from the command prompt, execute the following command.\n\n    ```\n    pip install -U ClointFusion\n    ```\n\n## Ubuntu :\n* Clointfusion requires sudo rights to install on Ubuntu.\n* Additional Linux packages must be installed before Clointfusion can be installed.\n* Make certain that Python 3.8 or Python 3.9 is installed.\n* Then, from the command prompt, execute the following command.\n\n    ```\n    sudo apt-get install python3-tk python3-dev\n    sudo pip3 install ClointFusion\n    ```\n\n\u003cbr\u003e\n\n# Importing\n\n\u003cbr\u003e\n\n\u003e ### ClointFusion can be accessed using one of two methods.\n\n## Windows :\n\n* ### Terminal : Opens a Python interpreter using the command \" import ClointFusion as cf \"\n\n    ```\n    cf_py\n    ```\n* ### Code Editor or IDE : Import ClointFusion first, and then run the file in Python.\n\n    ```\n    # cf_bot.py\n\n    import ClointFusion as cf\n\n    cf.browser_activate()\n    ```\n    ```\n    python cf_bot.py\n    ```\n\n\n## Ubuntu :\n\n* ### Terminal : Opens a Python interpreter with the command \" import ClointFusion as cf \" and the required sudo privileges.\n\n    ```\n    sudo cf_py\n    ```\n* ### Code Editor or IDE : Run the file with sudo permissions.\n\n    ```\n    # cf_bot.py\n    \n    import ClointFusion as cf\n\n    cf.browser_activate()\n    ```\n    ```\n    sudo python3 cf_bot.py\n    ```\n\n\u003cbr\u003e\n\n# Features\n\n\u003cbr\u003e\n\n\u003e ## ClointFusion's Voice-Guided, Fully Automated Self-Test.\n\nWhen you import ClointFusion for the first time, or upgrade to a new version, you'll be prompted with the \"ClointFusion Automated Self-Test,\" which highlights all of ClointFusion's 100+ features in action on your computer while also confirming ClointFusion's compatibility with your PC's settings and configurations.\nOnce you have successfully completed the self-test, you will receive an email with a self-test report.\n\nBelow is the speed up version of self-test.\n\n[ Click here to watch the Self-Test in Action. ](https://user-images.githubusercontent.com/67296473/139620682-d63f6ee6-a3f5-4ca9-9ea9-23216e571e3e.mp4)\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n\u003e ## DOST : Your friend in automation || Build RPA Bots without Code.\n\n` DOST ` is an interactive Blockly based ``no-code`` BOT Builder platform built and optimized for ClointFusion-based BOT building. We feel that automation is important for people other than programmers. Using DOST, even a common man can create a BOT in minutes.\n\n### Advantages of DOST\n\n- Easy to Use.\n- Build BOT in minutes.\n- No prior Programming knowledge needed.\n\n### Launch DOST client\n\n\u003e #### Windows\nOpen your favorite browser and go to \u003ca href='https://dost.clointfusion.com'\u003eDost Website\u003c/a\u003e and start building bots.\n\nNote : Make sure ClointFusion Tray is present or open terminal and type `cf_tray` to activate ClointFusion Tray menu.\n\n\n\u003e #### Ubuntu\nOpen your favorite terminal and type `sudo dost` and then type `python3 dost.py`.\n\n- Want to change the chrome profile ?\n\n    - Use `python3 dost.py \"Profile 1\"`\n\n\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/VERSION%201.1.0/CLI_DOST_GIF.gif?raw=true\" height=\"400\"\u003e\n\n**Build BOT with DOST:** [DOST Website](https://dost.clointfusion.com/)\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n\u003e ## BOL : BOL - Your automation voice based assistant\n\n` BOL ` is voice based automation assistant designed to execute BOTs build out of ClointFusion without any human computer interaction.\n\n### Usage of BOL\n\nOpen your favorite terminal and type `bol` or `sudo bol` for ubuntu users. Within a moment, a personalized Virtual Assistant will be at your service.\n\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/VERSION%201.1.0/CLI_BOL_GIF.gif?raw=true\" height=\"400\"\u003e\n\n***Note: `BOL` is currently in development stage. More functionalities are yet to be added.***\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n\u003e ## WORK - The Work Hour Monitor\n\n`WORK` is an intelligent application that detects each and every work you do in your PC and displays a detailed work report.\n\n### Usage of WORK\n\nOpen your favorite terminal and type `cf_work`. \nA detailed work report will be displayed.\n\n\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/VERSION%201.1.0/CLI_CF_WORK.gif?raw=true\" height=\"400\"\u003e\n\n***Note: All the information that is being collected by `WORK` is stored in a securely maintained database in your system.***\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n\u003e ## WhatsApp Bot - Send bulk WhatsApp messages.\n\nClointFusion's \"WhatsApp Bot\" is an automated utility tool that allows you to send many customized messages to your contacts at once.\n\n### Usage of WhatsApp Bot\n\nOpen your favorite terminal and type `cf_wm`, and give path of the excel, \nor `cf_wm -e excel_path.xlsx`\n\n[ Click here to watch the WhatsApp Bot in Action. ](https://user-images.githubusercontent.com/67296473/139722199-37036526-2b1c-4120-a12d-bde3df2eb0d7.mp4)\n\n\u003cbr\u003e\n\n# ClointFusion in Action\n\n## **Now access more than 100 functions (hit ctrl+space in your IDE)**\n\n***TIP: You can find and inspect all of ClointFusion's functions using only one function i.e., `find()`. Just pass the partial name of the function.***\n\n```\ncf.find(\"sort\")\n\ncf.find(\"gui\")\n\n```\n* ### 6 gui functions, to take any input from user:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.gui_get_any_input_from_user() | msgForUser=\"Please enter : \", password=False, multi_line=False, mandatory_field=True | Generic function to accept any input (text / numeric) from user using GUI. Returns the value in string format. |\n| cf.gui_get_any_file_from_user() | msgForUser=\"the file : \", Extension_Without_Dot=\"*\" | Generic function to accept file path from user using GUI. Returns the filepath value in string format.Default allows all files. |\n| cf.gui_get_consent_from_user() | msgForUser=\"Continue ?\" | Generic function to get consent from user using GUI. Returns the string 'yes' or 'no' |\n| cf.gui_get_dropdownlist_values_from_user() | msgForUser=\" \", dropdown_list=[], multi_select=True | Generic function to accept one of the drop-down value from user using GUI. Returns all chosen values in list format. |\n| cf.gui_get_excel_sheet_header_from_user() | msgForUser=\" \" | Generic function to accept excel path, sheet name and header from user using GUI. Returns all these values in dictionary format. |\n| cf.gui_get_folder_path_from_user() | msgForUser=\"the folder : \" | Generic function to accept folder path from user using GUI. Returns the folder path value in string format. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Functions%20Light%20GIFs/gui_function.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 4 functions on Mouse Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.mouse_click() | x=\" \", y=\" \", left_or_right=\"left\", no_of_clicks=1  | Clicks at the given X Y Co-ordinates on the screen using ingle / double / triple click(s). Optionally copies selected data to clipboard (works for double / triple clicks) |\n| cf.mouse_move() | x=\" \", y=\" \" | Moves the cursor to the given X Y Co-ordinates |\n| cf.mouse_drag_from_to() | x1=\" \", y1=\" \", x2=\" \",y2=\" \", delay=0.5 | Clicks and drags from X1 Y1 co-ordinates to X2 Y2 Co-ordinates on the screen |\n| cf.mouse_search_snip_return_coordinates_x_y() | img=\" \", wait=180 | Searches the given image on the screen and returns its center of X Y co-ordinates. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Mouse_Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 6 functions on Window Operations (works only in Windows OS):\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.window_show_desktop() | None | Minimizes all the applications and shows Desktop. |\n| cf.window_get_all_opened_titles_windows() | window_title=\" \" | Gives the title of all the existing (open) windows. |\n| cf.window_activate_and_maximize_windows() | windowName=\" \" | Activates and maximizes the desired window. |\n| cf.window_minimize_windows() | windowName=\" \" | Activates and minimizes the desired window. | \n| cf.window_close_windows() | windowName=\" \" | Close the desired window. |\n| cf.launch_any_exe_bat_application() | pathOfExeFile=\" \" | Launches any exe or batch file or excel file etc. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Functions%20Light%20GIFs/Window Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n    \n* ### 5 functions on Window Objects (works only in Windows OS):\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.win_obj_open_app() | title, program_path_with_name, file_path_with_name=\" \", backend=\"uia\" | Open any windows application. |\n| cf.win_obj_get_all_objects() | main_dlg, save=False, file_name_with_path=\" \" | Print or Save all the windows object elements of an application. |\n| cf.win_obj_mouse_click() | main_dlg,title=\" \",  auto_id=\" \", control_type=\" \" | Simulate high level mouse clicks on windows object elements. |\n| cf.win_obj_key_press() | main_dlg,write, title=\" \", auto_id=\" \", control_type=\" \" | Simulate high level key-press on windows object elements. |\n| cf.win_obj_get_text() | main_dlg, title=\" \",  auto_id=\" \", control_type=\" \", value = False | Read text from windows object element. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Windows_Object_Operation.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 8 functions on Folder Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.folder_read_text_file() | txt_file_path=\" \" | Reads from a given text file and returns entire contents as a single list |\n| cf.folder_write_text_file() | txt_file_path=\" \", contents=\" \" |  Writes given contents to a text file |\n| cf.folder_create() | strFolderPath=\" \" | When you are making leaf directory, if any intermediate-level directory is missing, folder_create() method creates them. |\n| cf.folder_create_text_file() | textFolderPath=\" \", txtFileName=\" \" | Creates text file in the given path. |\n| cf.folder_get_all_filenames_as_list() | strFolderPath=\" \", extension='all' | Get all the files of the given folder in a list. |\n| cf.folder_delete_all_files() | fullPathOfTheFolder=\" \", file_extension_without_dot=\"all\" | Deletes all the files of the given folder |\n| cf.file_rename() | old_file_path='', new_file_name='', ext=False | Renames the given file name to new file name with same extension. |\n|cf.file_get_json_details() | path_of_json_file='', section='' | Returns all the details of the given section in a dictionary |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Folder_Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 28 functions on Excel Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.excel_get_all_sheet_names() | excelFilePath=\" \" | Gives you all names of the sheets in the given excel sheet. |\n| cf.excel_create_excel_file_in_given_folder() | fullPathToTheFolder=\" \", excelFileName=\" \", sheet_name=\"Sheet1\" | Creates an excel file in the desired folder with desired filename |\n| cf.excel_if_value_exists() | excel_path=\" \", sheet_name=\"Sheet1\", header=0, usecols=\" \", value=\" \" | Check if a given value exists in given excel. Returns True / False |\n| cf.excel_create_file() | fullPathToTheFile=\" \", fileName=\" \", sheet_name=\"Sheet1\" | Create a Excel file in fullPathToTheFile with filename. |\n| cf.excel_copy_paste_range_from_to_sheet() | excel_path=\" \", sheet_name=\"Sheet1\",\u003cbr\u003e startCol=0, startRow=0, endCol=0,\u003cbr\u003e endRow=0, copiedData=\" \" | Pastes the copied data in specific range of the given excel sheet. |\n| cf.excel_get_row_column_count() | excel_path=\" \", sheet_name=\"Sheet1\", header=0 | Gets the row and column count of the provided excel sheet. |\n| cf.excel_copy_range_from_sheet() | excel_path=\" \", sheet_name=\"Sheet1\", startCol=0, startRow=0, endCol=0, endRow=0 | Copies the specific range from the provided excel sheet and returns copied data as a list |\n| cf.excel_split_by_column() | excel_path=\" \", sheet_name=\"Sheet1\",\u003cbr\u003e header=0, columnName=\" \" | Splits the excel file by Column Name |\n| cf.excel_split_the_file_on_row_count() | excel_path=\" \", sheet_name = \"Sheet1\", rowSplitLimit=\" \", outputFolderPath=\" \", outputTemplateFileName =\"Split\" |  Splits the excel file as per given row limit |\n| cf.excel_merge_all_files() | input_folder_path=\" \", output_folder_path=\" \" | Merges all the excel files in the given folder |\n| cf.excel_drop_columns() | excel_path=\" \", sheet_name=\"Sheet1\",\u003cbr\u003e header=0, columnsToBeDropped = \" \" | Drops the desired column from the given excel file |\n| cf.excel_sort_columns() | excel_path=\" \", sheet_name=\"Sheet1\",\u003cbr\u003e header=0, firstColumnToBeSorted=None, secondColumnToBeSorted=None, thirdColumnToBeSorted=None, firstColumnSortType=True, secondColumnSortType=True, thirdColumnSortType=True,\u003cbr\u003e view_excel=False | A function which takes excel full path to excel and column names on which sort is to be performed |\n| cf.excel_clear_sheet() | excel_path=\" \",sheet_name=\"Sheet1\",\u003cbr\u003e header=0 |  Clears the contents of given excel files keeping header row intact |\n| cf.excel_set_single_cell() | excel_path=\" \", sheet_name=\"Sheet1\",\u003cbr\u003e header=0, columnName=\" \", cellNumber=0, setText=\" \" | Writes the given text to the desired column/cell number for the given excel file |\n| cf.excel_get_single_cell() | excel_path=\" \",sheet_name=\"Sheet1\",\u003cbr\u003e header=0, columnName=\" \",cellNumber=0 | Gets the text from the desired column/cell number of the given excel file |\n| cf.excel_remove_duplicates() | excel_path=\" \",sheet_name=\"Sheet1\",\u003cbr\u003e header=0, columnName=\" \", saveResultsInSameExcel=True, which_one_to_keep=\"first\" | Drops the duplicates from the desired Column of the given excel file |\n| cf.excel_vlook_up() | filepath_1=\" \", sheet_name_1 = \"Sheet1\",\u003cbr\u003e header_1 = 0, filepath_2=\" \", sheet_name_2 = \"Sheet1\",\u003cbr\u003e header_2 = 0, Output_path=\" \", OutputExcelFileName=\" \", match_column_name=\" \", how='left', view_excel=False | Performs excel_vlook_up on the given excel files for the desired columns. Possible values for how are \"inner\",\"left\", \"right\", \"outer\" |\n| cf.excel_describe_data() | excel_path=\" \",sheet_name=\"Sheet1\", header=0, view_excel=False |  Describe statistical data for the given excel |\n| cf.excel_change_corrupt_xls_to_xlsx() | xls_file ='',xlsx_file = '', xls_sheet_name='' | Repair corrupt excel file |\n| cf.excel_get_all_header_columns() | excel_path=\" \",sheet_name=\"Sheet1\",header=0 | Gives you all column header names of the given excel sheet |\n| cf.excel_convert_to_image() | excel_file_path=\" \" | Returns an Image (PNG) of given Excel |\n| cf.excel_split_on_user_defined_conditions() | excel_file_path, sheet_name=\"Sheet1\", column_name='', condition_strings=None,output_dir='', view_excel=False | Splits the excel based on user defined row/column conditions |\n| cf.excel_apply_format_as_table() | excel_file_path, table_style=\"TableStyleMedium21\", sheet_name=\"Sheet1\" | Applies table format to the used range of the given excel |\n| cf.excel_convert_xls_to_xlsx() | xls_file_path='',xlsx_file_path='' | Converts given XLS file to XLSX |\n| cf.isNaN() | value | Returns TRUE if a given value is NaN False otherwise |\n| cf.convert_csv_to_excel() | csv_path=\" \", sep=\" \" | Function to convert CSV to Excel | \n| cf.excel_sub_routines() | None | Excel VBA Macros called from ClointFusion |\n| cf.excel_to_colored_html() | formatted_excel_path=\" \" | Converts given Excel to HTML preserving the Excel format and saves in same folder as .html |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Excel_Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 3 functions on Keyboard Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.key_hit_enter() | write_to_window=\" \" | Enter key will be pressed once. |\n| cf.key_press() | key_1='', key_2='', key_3='', write_to_window=\" \" | Emulates the given keystrokes. |\n| cf.key_write_enter() | text_to_write=\" \", write_to_window=\" \", delay_after_typing=1, key=\"e\" | Writes/Types the given text and press enter (by default) or tab key. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/KB_Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 5 functions on Screen-scraping Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n|cf.scrape_save_contents_to_notepad() | folderPathToSaveTheNotepad=\" \", switch_to_window=\" \",X=0, Y=0 | Copy pastes all the available text on the screen to notepad and saves it. |\n| cf.scrape_get_contents_by_search_copy_paste() | highlightText=\" \" | Gets the focus on the screen by searching given text using crtl+f and performs copy/paste of all data. Useful in Citrix applications. This is useful in Citrix applications |\n| cf.screen_clear_search() | delay=0.2 | Clears previously found text (crtl+f highlight) |\n| cf.search_highlight_tab_enter_open() | searchText=\" \", hitEnterKey=\"Yes\", shift_tab='No' | Searches for a text on screen using crtl+f and hits enter. This function is useful in Citrix environment. |\n| cf.find_text_on_screen() | searchText=\" \", delay=0.1, occurance=1, isSearchToBeCleared=False | Clears previous search and finds the provided text on screen. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Screen_Scraping.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 11 functions on Browser Operations:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.browser_activate() | url=\" \", files_download_path='', dummy_browser=True,\u003cbr\u003e open_in_background=False, incognito=False,\u003cbr\u003e clear_previous_instances=False, profile=\"Default\" | Function to launch browser and start the session. |\n| cf.browser_navigate_h() | url=\" \" | Navigates to Specified URL. |\n| cf.browser_write_h() | Value=\" \",  User_Visible_Text_Element=\" \" |  Write a string on the given element. |\n| cf.browser_mouse_click_h() | User_Visible_Text_Element=\" \", element=\" \",\u003cbr\u003e double_click=False, right_click=False | Click on the given element. |\n|cf.browser_locate_element_h() | selector=\" \", get_text=False,\u003cbr\u003e multiple_elements=False | Find the element by Xpath, id or css selection. |\n| cf.browser_wait_until_h() | text=\" \", element=\"t\" | Wait until a specific element is found. |\n| cf.browser_refresh_page_h() | None | Refresh the page. |\n| cf.browser_quit_h() | None | Close the Helium browser. |\n| cf.browser_hit_enter_h() | None | Hits enter KEY using Browser Helium Functions |\n| cf.browser_key_press_h() | key_1=\" \", key_2=\" \" | Type text using Browser Helium Functions and press hot keys |\n| cf.browser_mouse_hover_h() | User_Visible_Text_Element=\" \" | Performs a Mouse Hover over the Given User Visible Text Element | \n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Functions%20Light%20GIFs/browser_functions.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### 4 functions on Alert Messages:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.message_counter_down_timer() | strMsg=\"Calling ClointFusion Function in (seconds)\", start_value=5 | Function to show count-down timer. Default is 5 seconds. |\n| cf.message_pop_up() | strMsg=\" \", delay=3 | Specified message will popup on the screen for a specified duration of time.|\n| cf.message_flash() | msg=\" \", delay=3 | Specified msg will popup for a specified duration of time with OK button. |\n| cf.message_toast() | message,website_url=\" \", file_folder_path=\" \" | Function for displaying Windows 10 Toast Notifications. Pass website URL OR file / folder path that needs to be opened when user clicks on the toast notification. |\n\n----\n\n* ### 3 functions on String Operations: \n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.string_remove_special_characters() | inputStr=\" \" | Removes all the special character. |\n| cf.string_extract_only_alphabets() | inputString=\" \" | Returns only alphabets from given input string |\n| cf.string_extract_only_numbers() | inputString=\" \" | Returns only numbers from given input string |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/String_Operations.gif?raw=true\" height=\"400\"\u003e\n\n----\n\n* ### Loads of miscellaneous functions related to emoji, capture photo, flash (pop-up) messages etc:\n\n| Function | Accepted Parameters | Description |\n| :--------: | :----: | :----------- |\n| cf.clear_screen() | None | Clears Python Interpreter Terminal Window Screen |\n| cf.print_with_magic_color() | strMsg:str=\" \", magic:bool=False | Function to color and format terminal output |\n| cf.schedule_create_task_windows() | Weekly_Daily=\"D\", week_day=\"Sun\", start_time_hh_mm_24_hr_frmt=\"11:00\" | Schedules (weekly \u0026 daily options as of now) the current BOT (.bat) using Windows Task Scheduler. Please call create_batch_file() function before using this function to convert .pyw file to .bat |\n| cf.schedule_delete_task_windows() | None | Deletes already scheduled task. Asks user to supply task_name used during scheduling the task. You can also perform this action from Windows Task Scheduler. |\n| cf.show_emoji() | strInput=\" \" | Function which prints Emojis |\n| cf.dismantle_code() | strFunctionName=\" \" | This functions dis-assembles given function and shows you column-by-column summary to explain the output of disassembled bytecode. |\n| cf.ON_semi_automatic_mode() | None | This function sets semi_automatic_mode as True =\u003e ON |\n| cf.OFF_semi_automatic_mode()| None | This function sets semi_automatic_mode as False =\u003e OFF |\n| cf.email_send_via_desktop_outlook() | toAddress=\" \", ccAddress=\" \", subject=\" \",htmlBody=\" \", embedImgPath=\" \", attachmentFilePath=\" \" | Send email using Outlook from Desktop email application |\n| cf.download_this_file() | url=\" \" | Downloads a given url file to BOT output folder or Browser's Download folder |\n| cf.pause_program() | seconds=\"5\" | Stops the program for given seconds |\n| cf.string_regex() | inputStr=\" \", strExpAfter=\" \", \u003cbr\u003e strExpBefore=\" \", intIndex=0 | Regex API service call, to search within a given string data |\n| cf.ocr_now() | img_path=\" \" | Recognize and read the text embedded in images using Google's Tesseract-OCR |\n| cf.update_log_excel_file() | message=\" \" | Given message will be updated in the excel log file of output folder |\n| cf.create_batch_file() | application_exe_pyw_file_path=\" \" | Creates .bat file for the given application / exe or even .pyw BOT developed by you. This is required in Task Scheduler. |\n\n\u003cbr\u003e\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/miscallaneous.gif?raw=true\" height=\"400\"\u003e    \n\n\n\u003c!-- # ClointFusion's function works in different modes: --\u003e\n# ClointFusion's Semi Automatic Mode\n\n1. If you pass all the required parameters, function works silently. So, this is expert (Non-GUI) mode. This mode gives you more control over the function's parameters.\n2. If you do not pass any parameter, GUI would pop-up asking you the required parameters. Next time, when you run the BOT, based upon your configuration, which you get to choose at the beginning of BOT run:\n    -  If `Semi-Automatic mode` is OFF, GUI would pop-up again, showing you the previous entries, allowing you to modify the parameters.\n    -  If `Semi-Automatic mode` in ON, BOT works silently taking your previous GUI entries.\n    - Toggle `Semi-Automatic mode` by using the following command\n\n    ```\n    cf.ON_semi_automatic_mode   # To turn ON semi automatic mode\n    cf.OFF_semi_automatic_mode  # To turn OFF semi automatic mode\n    ```\n\n3. GUI Mode is for beginners. Anytime, if you are not getting how to use the function, just call an empty function (without parameters) and GUI would pop-up asking you for required parameters.\n\n\n\u003cbr\u003e    \n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Auto_Semi_Auto.gif?raw=true\" height=\"400\"\u003e    \n\n# BOTS made out of ClointFusion\n\n### Outlook Email BOT implemented using ClointFusion\n\n\u003cimg src=\"https://github.com/ClointFusion/Image_ICONS_GIFs/blob/main/Functions%20Light%20GIFs/Gmail_and_Outlook_BOT.gif?raw=true\" height=\"400\"\u003e\n\n\u003cbr\u003e\n\n# We love your contribution\n\nContribute to us by giving a star, writing articles on `ClointFusion`, giving comments, reporting bugs, bug fixes, feature enhancements, adding documentation, and many other ways. \n\n\n## Invitation to our Monthly Branded Hackathon\n\nWe also invite everyone to take part in our monthly branded event, the `ClointFusion Hackathon`, and stand a chance to work with us.\n\nCheckout our Hackathon Website for more details here: [ClointFusion Hackathon](https://sites.google.com/view/clointfusion-hackathon\n)\n\n\u003cbr\u003e\n\n## Date \u0026#10084;\u0026#65039; with ClointFusion\n\nThis an initiative for fast track entry into our growing workforce. For more details, please visit: [Date with ClointFusion](https://lnkd.in/gh_r9YB)\n\n\n## Acknowledgements\n\nWe sincerely thanks to all it's dependent packages for the great contribution, which made `ClointFusion` possible!\n\nPlease find all the dependencies [here](https://openbase.com/python/ClointFusion/dependencies) \n\u003c!-- \n\u003ca href=\"https://openbase.com/python/ClointFusion/dependencies\" target=\"blank\"\u003eClointFusion thanks all its dependent packages for the great contribution, which has made ClointFusion possible !\u003c/a\u003e --\u003e\n\n## Credits\n\n#### ReadMe File Maintainer \nfharookshaik, Intern @ ClointFusion. Incase of any queries reach him on \n\n\u003ca href=\"https://www.linkedin.com/in/fharook-shaik-7a757b181/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn\"\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://github.com/fharookshaik\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"GitHub\"\u003e\u003c/a\u003e \u0026nbsp;  \n\n\n## Need help in Building BOTS?\n\nWrite us by clicking below\u003cbr\u003e\n\u003cdiv align='left'\u003e\n\u003ca href=\"mailto:ClointFusion@cloint.com\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" alt=\"Gmail\"\u003e\u003c/a\u003e \u0026nbsp;\n\u003c/div\u003e\n\n---\n\nDisclaimer: We collect anonymous data on installation and usage statistics in order to improve our product and provide better services.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclointfusion%2Fclointfusion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclointfusion%2Fclointfusion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclointfusion%2Fclointfusion/lists"}