Skip to content

Commit f2e1b6f

Browse files
committed
Add some extra logs
1 parent fdaf1c1 commit f2e1b6f

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

src/crawlee/browsers/_playwright_browser_controller.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ async def _get_context_creation_lock(self) -> Lock:
8888
self._context_creation_lock= Lock()
8989
return self._context_creation_lock
9090

91-
async def ensure_browser_context(self,
91+
async def _ensure_browser_context(self,
9292
browser_new_context_options: Mapping[str, Any] | None = None,
9393
proxy_info: ProxyInfo | None = None,
9494
) -> None:
@@ -99,8 +99,6 @@ async def ensure_browser_context(self,
9999
proxy_info=proxy_info,
100100
)
101101

102-
103-
104102
@property
105103
@override
106104
def pages(self) -> list[Page]:
@@ -161,12 +159,6 @@ async def new_page(
161159
Raises:
162160
ValueError: If the browser has reached the maximum number of open pages.
163161
"""
164-
if not self._browser_context:
165-
self._browser_context = await self._create_browser_context(
166-
browser_new_context_options=browser_new_context_options,
167-
proxy_info=proxy_info,
168-
)
169-
170162
if not self.has_free_capacity:
171163
raise ValueError('Cannot open more pages in this browser.')
172164

@@ -178,11 +170,7 @@ async def new_page(
178170
)
179171
page = await new_context.new_page()
180172
else:
181-
if not self._browser_context:
182-
self._browser_context = await self._create_browser_context(
183-
browser_new_context_options=browser_new_context_options,
184-
proxy_info=proxy_info,
185-
)
173+
await self._ensure_browser_context()
186174
page = await self._browser_context.new_page()
187175

188176
# Handle page close event
@@ -229,8 +217,8 @@ async def _create_browser_context(
229217
Create context without headers and without fingerprints if neither `self._header_generator` nor
230218
`self._fingerprint_generator` is available.
231219
"""
220+
start = datetime.now(timezone.utc)
232221
browser_new_context_options = dict(browser_new_context_options) if browser_new_context_options else {}
233-
234222
if proxy_info:
235223
if browser_new_context_options.get('proxy'):
236224
logger.warning("browser_new_context_options['proxy'] overriden by explicit `proxy_info` argument.")
@@ -242,11 +230,14 @@ async def _create_browser_context(
242230
)
243231

244232
if self._fingerprint_generator:
245-
return await AsyncNewContext(
233+
234+
c = await AsyncNewContext(
246235
browser=self._browser,
247236
fingerprint=self._fingerprint_generator.generate(),
248237
**browser_new_context_options,
249238
)
239+
logger.warning(f"Fingerprint generation time [s]: {(datetime.now(timezone.utc) - start).total_seconds()}")
240+
return c
250241

251242
if self._header_generator:
252243
extra_http_headers = dict(
@@ -268,5 +259,5 @@ async def _create_browser_context(
268259
browser_new_context_options['extra_http_headers'] = browser_new_context_options.get(
269260
'extra_http_headers', extra_http_headers
270261
)
271-
262+
logger.warning(f"Fingerprint generation time [s]: {(datetime.now(timezone.utc)-start).total_seconds()}")
272263
return await self._browser.new_context(**browser_new_context_options)

0 commit comments

Comments
 (0)