Fix DNS resolution error when using add_init_script()#99
Open
rjadr wants to merge 1 commit intoKaliiiiiiiiii-Vinyzu:mainfrom
Open
Fix DNS resolution error when using add_init_script()#99rjadr wants to merge 1 commit intoKaliiiiiiiiii-Vinyzu:mainfrom
rjadr wants to merge 1 commit intoKaliiiiiiiiii-Vinyzu:mainfrom
Conversation
- Modified install_inject_route to use route.continue_() instead of redirecting to non-existent .internal domain - Add comprehensive test suite for add_init_script functionality - Fixes issue where page.goto() fails with ERR_NAME_NOT_RESOLVED - Resolves compatibility issues with stealth scripts (e.g., TikTokApi) The bug was caused by redirecting document requests to 'patchright-init-script-inject.internal' which cannot be resolved by DNS. This fix allows init scripts to work while maintaining proper navigation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
When calling
page.add_init_script(), subsequentpage.goto()calls fail withERR_NAME_NOT_RESOLVED.Reproduction
Impact
This bug affects:
add_init_script()for anti-detection (stealth scripts)Root Cause
The
install_inject_route()method in the patching script creates a route handler that redirects document requests to:The
.internaldomain is not a valid TLD and cannot be resolved by DNS, causingERR_NAME_NOT_RESOLVED.Solution
Modified the route handler in
patch_python_package.pyto useroute.continue_()instead of redirecting to a fake domain:Before (broken):
After (fixed):
This allows init scripts to be added without breaking DNS resolution.
Checklist
Additional Context
This was discovered while using PyTok (which uses TikTokApi stealth scripts). The bug prevented any navigation after calling
add_init_script(), making stealth functionality completely unusable. The fix has been tested locally and confirmed to work.