|
52 | 52 | URLMatcher, |
53 | 53 | URLMatchRequest, |
54 | 54 | URLMatchResponse, |
55 | | - is_function_body, |
56 | 55 | is_safe_close_error, |
57 | 56 | locals_to_params, |
58 | 57 | parse_error, |
@@ -139,12 +138,7 @@ def __init__( |
139 | 138 | ), |
140 | 139 | ) |
141 | 140 | self._channel.on("crash", lambda _: self._on_crash()) |
142 | | - self._channel.on( |
143 | | - "dialog", |
144 | | - lambda params: self.emit( |
145 | | - Page.Events.Dialog, from_channel(params["dialog"]) |
146 | | - ), |
147 | | - ) |
| 141 | + self._channel.on("dialog", lambda params: self._on_dialog(params)) |
148 | 142 | self._channel.on( |
149 | 143 | "domcontentloaded", lambda _: self.emit(Page.Events.DOMContentLoaded) |
150 | 144 | ) |
@@ -290,6 +284,13 @@ def _on_close(self) -> None: |
290 | 284 | def _on_crash(self) -> None: |
291 | 285 | self.emit(Page.Events.Crash) |
292 | 286 |
|
| 287 | + def _on_dialog(self, params: Any) -> None: |
| 288 | + dialog = from_channel(params["dialog"]) |
| 289 | + if self.listeners(Page.Events.Dialog): |
| 290 | + self.emit(Page.Events.Dialog, dialog) |
| 291 | + else: |
| 292 | + asyncio.create_task(dialog.dismiss()) |
| 293 | + |
293 | 294 | def _add_event_handler(self, event: str, k: Any, v: Any) -> None: |
294 | 295 | if event == Page.Events.FileChooser and len(self.listeners(event)) == 0: |
295 | 296 | self._channel.send_no_reply( |
@@ -375,39 +376,29 @@ async def dispatch_event( |
375 | 376 | ) -> None: |
376 | 377 | return await self._main_frame.dispatch_event(**locals_to_params(locals())) |
377 | 378 |
|
378 | | - async def evaluate( |
379 | | - self, expression: str, arg: Serializable = None, force_expr: bool = None |
380 | | - ) -> Any: |
381 | | - return await self._main_frame.evaluate(expression, arg, force_expr=force_expr) |
| 379 | + async def evaluate(self, expression: str, arg: Serializable = None) -> Any: |
| 380 | + return await self._main_frame.evaluate(expression, arg) |
382 | 381 |
|
383 | 382 | async def evaluate_handle( |
384 | | - self, expression: str, arg: Serializable = None, force_expr: bool = None |
| 383 | + self, expression: str, arg: Serializable = None |
385 | 384 | ) -> JSHandle: |
386 | | - return await self._main_frame.evaluate_handle( |
387 | | - expression, arg, force_expr=force_expr |
388 | | - ) |
| 385 | + return await self._main_frame.evaluate_handle(expression, arg) |
389 | 386 |
|
390 | 387 | async def eval_on_selector( |
391 | 388 | self, |
392 | 389 | selector: str, |
393 | 390 | expression: str, |
394 | 391 | arg: Serializable = None, |
395 | | - force_expr: bool = None, |
396 | 392 | ) -> Any: |
397 | | - return await self._main_frame.eval_on_selector( |
398 | | - selector, expression, arg, force_expr=force_expr |
399 | | - ) |
| 393 | + return await self._main_frame.eval_on_selector(selector, expression, arg) |
400 | 394 |
|
401 | 395 | async def eval_on_selector_all( |
402 | 396 | self, |
403 | 397 | selector: str, |
404 | 398 | expression: str, |
405 | 399 | arg: Serializable = None, |
406 | | - force_expr: bool = None, |
407 | 400 | ) -> Any: |
408 | | - return await self._main_frame.eval_on_selector_all( |
409 | | - selector, expression, arg, force_expr=force_expr |
410 | | - ) |
| 401 | + return await self._main_frame.eval_on_selector_all(selector, expression, arg) |
411 | 402 |
|
412 | 403 | async def add_script_tag( |
413 | 404 | self, |
@@ -729,18 +720,18 @@ async def wait_for_function( |
729 | 720 | self, |
730 | 721 | expression: str, |
731 | 722 | arg: Serializable = None, |
732 | | - force_expr: bool = None, |
733 | 723 | timeout: float = None, |
734 | 724 | polling: Union[float, Literal["raf"]] = None, |
735 | 725 | ) -> JSHandle: |
736 | | - if not is_function_body(expression): |
737 | | - force_expr = True |
738 | 726 | return await self._main_frame.wait_for_function(**locals_to_params(locals())) |
739 | 727 |
|
740 | 728 | @property |
741 | 729 | def workers(self) -> List["Worker"]: |
742 | 730 | return self._workers.copy() |
743 | 731 |
|
| 732 | + async def pause(self) -> None: |
| 733 | + await self._browser_context._pause() |
| 734 | + |
744 | 735 | async def pdf( |
745 | 736 | self, |
746 | 737 | scale: float = None, |
@@ -903,31 +894,25 @@ def _on_close(self) -> None: |
903 | 894 | def url(self) -> str: |
904 | 895 | return self._initializer["url"] |
905 | 896 |
|
906 | | - async def evaluate( |
907 | | - self, expression: str, arg: Serializable = None, force_expr: bool = None |
908 | | - ) -> Any: |
909 | | - if not is_function_body(expression): |
910 | | - force_expr = True |
| 897 | + async def evaluate(self, expression: str, arg: Serializable = None) -> Any: |
911 | 898 | return parse_result( |
912 | 899 | await self._channel.send( |
913 | 900 | "evaluateExpression", |
914 | 901 | dict( |
915 | 902 | expression=expression, |
916 | | - isFunction=not (force_expr), |
917 | 903 | arg=serialize_argument(arg), |
918 | 904 | ), |
919 | 905 | ) |
920 | 906 | ) |
921 | 907 |
|
922 | 908 | async def evaluate_handle( |
923 | | - self, expression: str, arg: Serializable = None, force_expr: bool = None |
| 909 | + self, expression: str, arg: Serializable = None |
924 | 910 | ) -> JSHandle: |
925 | 911 | return from_channel( |
926 | 912 | await self._channel.send( |
927 | 913 | "evaluateExpressionHandle", |
928 | 914 | dict( |
929 | 915 | expression=expression, |
930 | | - isFunction=not (force_expr), |
931 | 916 | arg=serialize_argument(arg), |
932 | 917 | ), |
933 | 918 | ) |
|
0 commit comments