Skip to content

Python bot to apply LinkedIn Easy Apply jobs based on your preferences.

License

Notifications You must be signed in to change notification settings

LinuxUser255/LinkedIn_Apply

Repository files navigation

LinkedIn_Apply

A Python bot that will apply to the, "Easy Apply", jobs based on your preferences.

  • I may be adding Streamlit and Ollama at somepoint. Therefore, they are in the requirements.txt

  • This repo/codebase is a work in progress, & is intended to be an updated version of my other linkedin bot

There are many other test scripts for various trouble shooting & other use-cases in the Test_Scripts folder


You will need to download the Chrome Driver and palce it in the directory alongside the python files

https://googlechromelabs.github.io/chrome-for-testing/#stable


TO DO - Fixes and Changes

In order of most to least important

How the Bot works

  • Create an Excalabur Draw diagram - high-level overview of how this bot works

Browser handling issues

  • Eliminate launching a new browser/login session with each iteration.
  • Each URL is being visited in the same window
  • Conduct all searches and applications within one browser session.

Primary purpose of the Bot: Completion of the Easy apply section

  • Currently troubleshooting XPath click using:
  • Once the above is working, itegrate it's functionality into linkedin.py

  • Resolve the click on "Easy apply" button: Works in click_button_test.py

  • Implement separation of concerns for finding and clicking elements

  • Create module for testing sign in

  • Create a module to test login and apply

  • Create functionality to handle the submit apply pop-up.

    • clicking Next (submit application) and
    • click review
    • Modify test_apply.py to be re-run without repeating the login everytime
  • Integrate the four methods used to click the Easy Apply button into linkedin.py

    • Do this using a nested function??
  • Tie it all together in main.py


After all of the Easy apply functionality is complete.

  • Make bot able to apply on external links
  • Make it able to register & logon to external job applications

Misc..

  • Follow PEP 8 Syle Guide coding conventions:
  • Change all Variable and Function names to lower case
  • Avoid account login issues
  • Headless browser experience (Only the login and home page is shown. No link visitin.)
  • You can change this in the config.py file. Where it says headless = True

Other

  • Fix specified HTML element discovery issues
  • Chromium not woking properly with Linux
  • More robustness of the bot for different fields
  • Add support to other major job seeking websites (Glassdoor, AngelCo, Greenhouse,
  • Possibly need? Evade Anti-Bot detection
  • If necessary, Maybe retrieve and use session cookies from the browser?

Install & use

Clone the repository & Install the requirments**

git clone https://github.com/LinuxUser255/LinkedIn_Apply.git

cd LinkedIn_Apply

Download & Activate the virtual enviroment

curl -LO https://raw.githubusercontent.com/LinuxUser255/LinkedIn_Apply/refs/heads/main/virtenv_acitvate.sh | sh virtenv_acitvate.sh 

the install pip3 requirements

pip3 install -r requirements.yml

The bot can run either by executing main.py or linkedin.py. Both ways work.


About

Python bot to apply LinkedIn Easy Apply jobs based on your preferences.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published