Skip to content

fix(crawler): skip body visibility check when ignore_body_visibility=True (#2129) - #2192

Open
Battleplus wants to merge 1 commit into
unclecode:mainfrom
Battleplus:fix/2129-body-visibility-delay
Open

fix(crawler): skip body visibility check when ignore_body_visibility=True (#2129)#2192
Battleplus wants to merge 1 commit into
unclecode:mainfrom
Battleplus:fix/2129-body-visibility-delay

Conversation

@Battleplus

Copy link
Copy Markdown

Summary

Fixes #2129 — When ignore_body_visibility=True (the default), the crawler still waited for body to become attached (30s timeout) and ran a visibility check, only to discard the result. This added a hardcoded 30s penalty on every page where body is never visible.

Root cause

The body visibility check block (wait_for_selector + csp_compliant_wait) ran unconditionally, then the result was checked against config.ignore_body_visibility. On pages with ng-cloak/v-cloak where body never becomes visible, this wasted 30 seconds every crawl.

Fix

Wrap the entire body visibility block in if not config.ignore_body_visibility so the default path skips it entirely. Remove redundant inner guards that are now unreachable.

Files changed

  • crawl4ai/async_crawler_strategy.py (+32/-28)

…True (unclecode#2129)

When ignore_body_visibility=True (the default), the crawler still
waited for body to become attached (30s timeout) and ran a visibility
check, only to discard the result. This added a hardcoded 30s penalty
on every page where body is never visible (e.g., AngularJS ng-cloak,
Vue v-cloak).

Wrap the entire body visibility block in `if not config.ignore_body_visibility`
so the default path skips it entirely. Remove redundant inner guards.

Closes unclecode#2129
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hidden <body> adds a fixed 30s to every crawl, even when ignore_body_visibility=True (the default)

1 participant