Skip to content

Latest commit

 

History

History
140 lines (84 loc) · 3.88 KB

README.md

File metadata and controls

140 lines (84 loc) · 3.88 KB

LinkedIn_Apply

Built with

PythonLogo
SeleniumLoge

Selenium docs


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

  • I may be adding Ollama at some point in the future.

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


To test this bot run the script: test_apply_working_full.py


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 - Most recent: See TODO.md

Additional items. Some completed.


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?

Installation and Use

Clone the repository & Install the requirments**

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

cd LinkedIn_Apply

Set up scripts: virtual env and pip3

To set up a virtual enviroment

chmod +x virtenv_activate.sh
./virtenv_activate.sh

Automate pip3 updates and install requirements

chmod +x update_and_install.sh
./update_and_install.sh

To run the bot as of now, use: test_apply_working_full.py

When complete use:

main.py

OR

linkedin.py.