feat: add robust puppeteer login helper with captcha support #3056
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new login() context helper for both PlaywrightCrawler and PuppeteerCrawler that automatically handles website login forms. The helper supports both single-step login flows (where username and password fields are visible together) and two-step flows (where users must click "Next" after entering username). It includes smart field detection with customizable locators, robust success detection, and optional captcha handling with timeout protection.
Key features: Automatic form detection, custom locators, captcha integration, comprehensive error handling, and extensive test coverage (52 total tests across both crawlers). The helper gracefully handles cases where no login form is found and provides clear error messages for debugging.
Resolves full features for Puppeteer #3040