{"id":19738107,"url":"https://github.com/linuxuser255/linkedin_apply","last_synced_at":"2025-10-06T03:46:36.636Z","repository":{"id":257700831,"uuid":"859071929","full_name":"LinuxUser255/LinkedIn_Apply","owner":"LinuxUser255","description":"Python bot to automate job applications using the 'Easy apply' feature.","archived":false,"fork":false,"pushed_at":"2025-03-17T02:43:11.000Z","size":244,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T11:36:20.174Z","etag":null,"topics":["bots","intellij","linkedin","neovim","pycharm","python","python-script","python3","pythonbots"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinuxUser255.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-18T03:12:43.000Z","updated_at":"2025-04-01T14:45:07.000Z","dependencies_parsed_at":"2024-10-24T20:23:40.294Z","dependency_job_id":"3000097b-a1fe-4980-b35d-a0c1145dc01c","html_url":"https://github.com/LinuxUser255/LinkedIn_Apply","commit_stats":null,"previous_names":["linuxuser255/linkedin_apply"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LinuxUser255/LinkedIn_Apply","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FLinkedIn_Apply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FLinkedIn_Apply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FLinkedIn_Apply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FLinkedIn_Apply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinuxUser255","download_url":"https://codeload.github.com/LinuxUser255/LinkedIn_Apply/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FLinkedIn_Apply/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278556187,"owners_count":26006079,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bots","intellij","linkedin","neovim","pycharm","python","python-script","python3","pythonbots"],"created_at":"2024-11-12T01:13:17.800Z","updated_at":"2025-10-06T03:46:36.631Z","avatar_url":"https://github.com/LinuxUser255.png","language":"Python","readme":"\n\n# LinkedIn Job Application Bot\n\n\n![linkedin-logo-02](https://github.com/user-attachments/assets/8829660c-8021-49a2-951f-241ea62394e4)\n\n\n**Built with**\n\n![PythonLogo](https://github.com/user-attachments/assets/4c25054e-c5b1-4577-b1cc-35930bc6cae6)    \n![SeleniumLoge](https://github.com/user-attachments/assets/cef6469b-8193-41ac-b663-992b2a788c0a)\n\n**[Selenium docs](https://selenium-python.readthedocs.io/)**\n\n\n\n\u003cbr\u003e\n\n\n\n## A Python bot that will apply to the, \"Easy Apply\", jobs based on your preferences.\n\n- I may be adding Ollama at some point in the future.\n\n- This repo/codebase is a work in progress, \u0026 is intended to be an updated version of [my other linkedin bot](https://github.com/LinuxUser255/linkedin-application-bot)\n\n\u003cbr\u003e\n\n# Test script:  [test_apply_working_full.py](https://github.com/LinuxUser255/LinkedIn_Apply/blob/main/Test_Scripts/test_apply_working_full.py)\n\n\n\u003cbr\u003e\n\n\n## You will need to download the [Chrome Driver](https://googlechromelabs.github.io/chrome-for-testing/#stable) and palce it in the directory alongside the python files\n**https://googlechromelabs.github.io/chrome-for-testing/#stable**\n\n\u003cbr\u003e\n\n# TO DO - Most recent: See [TODO.md](https://github.com/LinuxUser255/LinkedIn_Apply/blob/main/TODO.md)\n```\nMany of the important ones are complete.\nThe next thing is integrating much of the test_apply script functionality into linkedin.py\n```\n\n**Additional items. Some completed.**\n\n\u003cbr\u003e\n\n**Browser handling issues**\n- [x] Eliminate launching a new browser/login session with each iteration.\n- [x] Each URL is being visited in the same window\n- [x] Conduct all searches and applications within one browser session.\n\n\u003cbr\u003e\n\n**Primary purpose of the Bot: Completion of the Easy apply section**\n- [x] Currently troubleshooting XPath click using:\n  \n## Try it here: [test_apply_working_full.py](https://github.com/LinuxUser255/LinkedIn_Apply/blob/main/Test_Scripts/test_apply_working_full.py) script\n- [ ] Once the above is working, itegrate it's functionality into `linkedin.py`\n- [x] Resolve the click on \"Easy apply\" button: Works in `click_button_test.py`\n- [x] Implement separation of concerns for finding and clicking elements\n- [x] Create module for testing sign in\n- [x] Create a module to test login and apply\n\n- [x]  Create functionality to handle the submit apply pop-up.  \n\t- [x] clicking Next (submit application) and \n\t- [x] click review\n\t- [x] Modify test_apply.py to be re-run without repeating the login everytime\n\n- [ ] Integrate the four methods used to click the Easy Apply button into `linkedin.py`\n\n\n- [x] Tie it all together in `main.py`\n\n\n\u003cbr\u003e\n\n  **Cool ideas might try: After all of the Easy apply functionality is complete.**\n- [ ] Make bot able to apply on external links\n- [ ] Make it able to register \u0026 logon to external job applications\n\n\u003cbr\u003e\n\n  **Misc..**\n- [x] Follow PEP 8 Syle Guide coding conventions:\n- [x] Change all Variable and Function names to lower case\n- [x] Avoid account login issues\n- [x] Headless browser experience (Only the login and home page is shown. No link visitin.)\n- [x] You can change this in the `config.py` file. Where it says `headless = True`\n\n\u003cbr\u003e\n\n**Other**\n- [x] Fix specified HTML element discovery issues\n- [x] ~~Chromium not woking properly with Linux~~\n- [x] More robustness of the bot for different fields\n- [ ] Much later, maybe add support to other major job seeking websites (Glassdoor, AngelCo, Greenhouse,\n- [ ] Possibly need? Evade Anti-Bot detection\n\n\u003cbr\u003e\n\n## Installation and Use\n\n### Clone the repository \u0026 Install the requirments**\n```shell\ngit clone https://github.com/LinuxUser255/LinkedIn_Apply.git\n\ncd LinkedIn_Apply\n```\n\u003cbr\u003e\n\n## Set up scripts: virtual env and pip3\n\n### To set up a virtual enviroment\n```shell\nchmod +x virtenv_activate.sh\n./virtenv_activate.sh\n```\n\u003cbr\u003e\n\n### Automate pip3 updates and install requirements\n\n```shell\nchmod +x update_and_install.sh\n./update_and_install.sh\n````\n\n\u003cbr\u003e\n\n## To run the bot as of now, use: [test_apply_working_full.py](https://github.com/LinuxUser255/LinkedIn_Apply/blob/main/Test_Scripts/test_apply_working_full.py)  \n\n\nWhen complete use:\n\n`main.py` \n\n**OR**\n\n`linkedin.py`.\n\n\n\u003cbr\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxuser255%2Flinkedin_apply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuxuser255%2Flinkedin_apply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxuser255%2Flinkedin_apply/lists"}