Nothing found, proxies and captchas
A search for a value that does not exist is a normal answer, not a failure; a site that blocks servers needs a proxy; a captcha needs a solver. A scraper learns each of these during its build, records it with the version, and tells you plainly what is missing — it never fails a run without saying why.
- Tell “Nothing found” apart from a failed run
- Choose how a scraper goes out: direct, rotating proxies or one fixed proxy
- Set up a captcha solver for the project
- Read the notice a scraper shows when something is missing
“Nothing found” is an answer
During the build, the scraper replays its walk once with a value shaped like yours but certain not to exist — BR102019000123 becomes BR999999999999 — and keeps the one sentence only that page shows, such as No process found. The program checks for it at the step the invalid value could not pass.
NOT_FOUND = "No process found"
# … inside main(), right after the search is submitted:
if waiso.page_has_text(page, NOT_FOUND):
return waiso.not_found()Such a run ends successfully, with no rows and notFound: true. The Runs page shows a neutral Nothing found chip, a flow step gets notFound in its output, and nothing is sent to Autofix — the site answered, it just had nothing to give.
Proxies
A new scraper starts with no proxy: a proxy nobody chose spends the browser pool and can change what a site returns. Open the scraper’s Network & Proxies to choose how its runs go out.
| Mode | What runs do |
|---|---|
| Off | Go out directly, from our own address. Fast, but a site that blocks us stays blocked. |
| Rotating | Alternate among the proxies of the chosen group; if a site refuses one, the run tries the next. |
| Static | Always leave through the one proxy you pin. Simple, but no fallback. |
If the build itself is blocked, it retries through the project’s proxy pool and records that this robot needs a proxy. With no proxy in the project, the Studio shows This robot needs a proxy with an Add a proxy link, and runs fail with proxy_none until one exists.
Captchas
A checkbox captcha is cleared with a click. Anything harder is sent to your solver endpoint, which answers with a token. Configure it once for the project — Solver endpoint URL, an optional auth header and its secret, then Test endpoint — and a scraper may override it when the project allows.
- A captcha met during the build is recorded and the program declares it with
waiso.needs(captcha=…). - The engine answers the program’s request for a token; the solver’s secret never reaches the program.
- Each run says how it went: Cleared by checkbox, Cleared by solver endpoint or Not cleared.
Limits
- Waiso does not sell proxies or solve captchas itself: you bring the proxies and the solver.
- A new version keeps the draft’s needs; restoring a version brings back that version’s needs.