https://github.com/rniguel/playwright-linkedin
Automação de conexões no LinkedIn usando Playwright. O script abre um navegador Chromium, você faz login manualmente, e ele envia convites de conexão automaticamente para pessoas que trabalham em uma empresa alvo.
https://github.com/rniguel/playwright-linkedin
automation linkedin nodejs playwright playwright-typescript
Last synced: 10 days ago
JSON representation
Automação de conexões no LinkedIn usando Playwright. O script abre um navegador Chromium, você faz login manualmente, e ele envia convites de conexão automaticamente para pessoas que trabalham em uma empresa alvo.
- Host: GitHub
- URL: https://github.com/rniguel/playwright-linkedin
- Owner: rniguel
- Created: 2026-05-10T18:53:10.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-10T21:54:45.000Z (about 2 months ago)
- Last Synced: 2026-05-10T23:32:35.210Z (about 2 months ago)
- Topics: automation, linkedin, nodejs, playwright, playwright-typescript
- Language: Shell
- Homepage:
- Size: 3.25 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Playwright LinkedIn
Automação de conexões no LinkedIn usando Playwright. O script abre um
navegador Chromium, você faz login manualmente, e ele envia convites de
conexão automaticamente para pessoas que trabalham em uma empresa alvo.
## Pré-requisitos
- Node.js 18+ (LTS)
- npm
## Setup
```bash
# Instalar dependências
npm install
# Configurar ambiente
cp .env.example .env
# Edite .env com a empresa alvo e URL de busca
```
## Uso
```bash
npm start
```
O navegador Chromium será aberto. Faça login no LinkedIn manualmente quando
solicitado. O script então:
1. Navega até a página de busca
2. Percorre os resultados rolando a página
3. Envia convites para pessoas que trabalham na empresa configurada
4. Avança para a próxima página quando terminar
### Variáveis de Ambiente
| Variável | Tipo | Padrão | Descrição |
|----------|------|--------|-----------|
| `TARGET_COMPANY` | string | `certisign` | Nome da empresa para filtrar conexões |
| `LINKEDIN_SEARCH_URL` | string | *(URL padrão)* | URL completa de busca do LinkedIn |
| `LINKEDIN_NETWORK_FILTER` | string | `S` | Filtro de rede: F=1º grau, S=2º grau, O=fora da rede. Ex: `F,S` |
| `DELAY_BETWEEN_ACTIONS` | number (ms) | `2500` | Pausa entre scrolls |
| `DELAY_AFTER_SCROLL` | number (ms) | `1500` | Pausa após cada scroll |
| `DELAY_BETWEEN_CONNECTIONS` | number (ms) | `4000-8000` (random) | Pausa entre envios de convite |
| `MAX_SCROLLS` | number | `15` | Scrolls máximos por página |
| `MAX_RETRIES` | number | `3` | Tentativas em caso de falha |
## Estrutura do Projeto
```
├── linkedin.js # Ponto de entrada (orquestra módulos)
├── src/
│ ├── config.js # Constantes de delay/retry/env
│ ├── auth.js # Login e sessão do LinkedIn
│ ├── search.js # Busca, scroll e detecção de perfis
│ ├── connection.js # Envio de conexões
│ └── pagination.js # Navegação entre páginas
├── .env.example # Template de configuração
├── .gitignore
└── package.json
```
## Notas
- O login é manual por segurança — o script não armazena credenciais
- Respeite os delays configurados para evitar bloqueios do LinkedIn
- O arquivo `.env` não é versionado (já está no `.gitignore`)