Skip to content

Commit e50a3cf

Browse files
committed
Bug fix: proxy was disabled in stealth mode
1 parent 6c849d1 commit e50a3cf

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

parsera/page.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ class ProxySettings(TypedDict, total=False):
2020

2121

2222
class PageLoader:
23-
def __init__(
24-
self,
25-
browser: Browser | None = None
26-
):
23+
def __init__(self, browser: Browser | None = None):
2724
self.playwright: Playwright | None = None
2825
self.browser: Browser | None = browser
2926
self.context: BrowserContext | None = None
@@ -38,12 +35,18 @@ async def new_browser(self) -> None:
3835

3936
self.browser = await self.playwright.firefox.launch(headless=True)
4037

41-
async def stealth(self, page: Page) -> Page:
38+
async def stealth(
39+
self,
40+
page: Page,
41+
proxy_settings: ProxySettings | None,
42+
) -> Page:
4243
user_agent = await self.page.evaluate("navigator.userAgent")
4344
user_agent = user_agent.replace("HeadlessChrome/", "Chrome/")
4445
await self.context.close()
4546

46-
self.context = await self.browser.new_context(user_agent=user_agent)
47+
self.context = await self.browser.new_context(
48+
user_agent=user_agent, proxy=proxy_settings
49+
)
4750
page = await self.context.new_page()
4851
await stealth_async(page, config=StealthConfig(navigator_user_agent=False))
4952
return page
@@ -59,7 +62,9 @@ async def create_session(
5962
self.context = await self.browser.new_context(proxy=proxy_settings)
6063
self.page = await self.context.new_page()
6164
if stealth:
62-
self.page = await self.stealth(page=self.page)
65+
self.page = await self.stealth(
66+
page=self.page, proxy_settings=proxy_settings
67+
)
6368

6469
if playwright_script:
6570
self.page = await playwright_script(self.page)

0 commit comments

Comments
 (0)