LinkedIn Automator
A Python-based Selenium automation utility for interacting with LinkedIn through a Chrome browser.
Features
- Selenium-based Chrome browser automation
- Login/session workflow
- Local SQLite storage
- Cookie/session persistence
- Image, video, and document posting
- Post text/caption support
- Console-based menu interface
- Colored terminal output
Requirements
- Python 3.9+
- Google Chrome
- Selenium-compatible WebDriver
- A LinkedIn account
Installation
Install the dependencies:
pip install selenium colorama pyfiglet pandas
If published on PyPI:
pip install <your-package-name>
Usage
Run the application:
python main.py
The current menu provides options for saving login/session data, editing stored credentials, exiting, and starting the posting workflow.
First Run
Choose option 1 and provide the LinkedIn username and password.
The application creates a local SQLite database and attempts to establish
a browser session.
Posting
Choose option 5 to start the posting workflow.
Supported file formats currently include:
- Images:
.jpg,.jpeg,.png,.heic - Videos:
.mp4,.mov - Documents:
.pdf,.docs
Security Notice
The current implementation stores login credentials in a local SQLite database and browser cookies/session information in JSON files.
Never publish real credentials, cookies, session files, database files, or other secrets to GitHub or PyPI.
Recommended .gitignore:
*.db
*.sqlite
*.sqlite3
session.json
session.josn
.env
__pycache__/
*.pyc
dist/
build/
*.egg-info/
For production use, replace plaintext credential storage with a secure credential store such as environment variables or an OS keychain.
Responsible Use
This project is intended for legitimate automation, testing, and personal workflows.
Users are responsible for complying with LinkedIn's Terms of Service, applicable laws, privacy requirements, and organizational policies. Do not use the software for spam, deceptive activity, unsolicited bulk messaging, or other activity that violates platform rules.
LinkedIn may change its website UI and selectors at any time, which can break Selenium-based automation.
Project Structure
A recommended PyPI-ready structure is:
linkedin-automator/
├── README.md
├── LICENSE
├── pyproject.toml
└── src/
└── linkedin_automator/
├── __init__.py
└── core.py
Dependencies
The current script imports:
seleniumcoloramapyfigletpandas
It also uses Python standard-library modules:
timesysossqlite3json
PyPI Publishing
Install the build tools:
python -m pip install --upgrade build twine
Build:
python -m build
Upload:
python -m twine upload dist/*
For initial testing, use TestPyPI before uploading to the main PyPI repository.
Known Limitations
The automation depends on LinkedIn's current web UI structure and Selenium selectors. Website changes can require selector updates.
The existing source also contains legacy session-handling code and should be reviewed and tested before being distributed as a production package.
License
MIT License. See LICENSE for the complete license text.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linkdeinautomation-0.0.1.tar.gz.
File metadata
- Download URL: linkdeinautomation-0.0.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b33deaa4fb0a22025e89cd0cd6f24007b1590077c674e8fcb1a6740b830f7a12
|
|
| MD5 |
c5b9185856375d5aea6bba1f0522376a
|
|
| BLAKE2b-256 |
d213ca9d8358d49e2984985902878f67c71da48d5e4931bd64f85c0f1a520406
|
File details
Details for the file linkdeinautomation-0.0.1-py3-none-any.whl.
File metadata
- Download URL: linkdeinautomation-0.0.1-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
017a05fecc951522b003b723e066ab376f06ae8d8d4d0b4e68c1667fac0fb56a
|
|
| MD5 |
2510c13ecc9235a261275f0303cf772b
|
|
| BLAKE2b-256 |
18b927c34c3dc7443db79d107427834a21ab36cf5d7359a8f0f207aff9e38866
|