@@ -20,10 +20,7 @@ class ProxySettings(TypedDict, total=False):
2020
2121
2222class 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