feat: add noVNC headed mode for interactive browser sessions
- Dockerfile with Xvfb + x11vnc + noVNC for browser-in-a-URL - search.py auto-detects DISPLAY env to run headed vs headless - pause_for_human() function for CAPTCHA/login handoff - Facebook Marketplace search (headed mode only, needs login) - Updated README with both modes
This commit is contained in:
@@ -2,15 +2,41 @@
|
||||
|
||||
Used car search tool for finding Jude a reliable hybrid (HEV) in the Woodinville, WA area. Budget: $8-10K.
|
||||
|
||||
## Setup
|
||||
## Two Modes
|
||||
|
||||
### Headless (fast, no interaction)
|
||||
|
||||
Runs Chromium headless. Good for sites that don't need login. Skips Facebook Marketplace.
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
uv run playwright install chromium
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
uv run python search.py
|
||||
```
|
||||
|
||||
### Headed via noVNC (interactive, for logins/CAPTCHAs)
|
||||
|
||||
Runs Chromium inside Docker with a virtual display. Open the browser view in any web browser when you need to interact (login, solve CAPTCHAs, apply filters manually).
|
||||
|
||||
```bash
|
||||
# Build once
|
||||
docker build -t car-help .
|
||||
|
||||
# Run (browser visible at http://localhost:6080/vnc.html)
|
||||
docker run -d --name car-help -p 6080:6080 -v $(pwd)/results:/app/results car-help
|
||||
|
||||
# Run a search (headed -- includes Facebook Marketplace)
|
||||
docker exec -it car-help uv run python search.py
|
||||
|
||||
# View the browser live
|
||||
open http://localhost:6080/vnc.html
|
||||
|
||||
# Stop
|
||||
docker stop car-help && docker rm car-help
|
||||
```
|
||||
|
||||
Results are saved to `results/search_<timestamp>.json`.
|
||||
|
||||
## Sites
|
||||
|
||||
See `sites.yaml` for the full list of car search sites, search parameters, and target models.
|
||||
|
||||
Reference in New Issue
Block a user