diff --git a/playwright/_impl/_frame.py b/playwright/_impl/_frame.py index 6d20c34f0..640ef1f82 100644 --- a/playwright/_impl/_frame.py +++ b/playwright/_impl/_frame.py @@ -100,14 +100,14 @@ def _on_load_state( and hasattr(self, "_page") and self._page ): - self._page.emit("load", self) + self._page.emit("load", self._page) if ( not self._parent_frame and add == "domcontentloaded" and hasattr(self, "_page") and self._page ): - self._page.emit("domcontentloaded", self) + self._page.emit("domcontentloaded", self._page) def _on_frame_navigated(self, event: FrameNavigatedEvent) -> None: self._url = event["url"] diff --git a/tests/sync/test_page.py b/tests/sync/test_page.py index 492d535ad..ccb229196 100644 --- a/tests/sync/test_page.py +++ b/tests/sync/test_page.py @@ -76,3 +76,11 @@ def test_sync_stacks_should_work(page: Page, server: Server) -> None: page.goto(server.EMPTY_PAGE) assert exc_info.value.stack assert __file__ in exc_info.value.stack + + +def test_emitted_for_domcontentloaded_and_load(page: Page, server: Server) -> None: + with page.expect_event("domcontentloaded") as dom_info: + with page.expect_event("load") as load_info: + page.goto(server.EMPTY_PAGE) + assert isinstance(dom_info.value, Page) + assert isinstance(load_info.value, Page)