Skip to content

Commit 024444e

Browse files
authored
cherry-pick(#1400): fix: emit Page on load/DOMContentLoaded (#1403)
Fixes #1399. Ports in #1374 of microsoft/playwright@cdb8627 was incorrect.
1 parent 0f0c735 commit 024444e

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

playwright/_impl/_frame.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@ def _on_load_state(
100100
and hasattr(self, "_page")
101101
and self._page
102102
):
103-
self._page.emit("load", self)
103+
self._page.emit("load", self._page)
104104
if (
105105
not self._parent_frame
106106
and add == "domcontentloaded"
107107
and hasattr(self, "_page")
108108
and self._page
109109
):
110-
self._page.emit("domcontentloaded", self)
110+
self._page.emit("domcontentloaded", self._page)
111111

112112
def _on_frame_navigated(self, event: FrameNavigatedEvent) -> None:
113113
self._url = event["url"]

tests/sync/test_page.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,11 @@ def test_sync_stacks_should_work(page: Page, server: Server) -> None:
7676
page.goto(server.EMPTY_PAGE)
7777
assert exc_info.value.stack
7878
assert __file__ in exc_info.value.stack
79+
80+
81+
def test_emitted_for_domcontentloaded_and_load(page: Page, server: Server) -> None:
82+
with page.expect_event("domcontentloaded") as dom_info:
83+
with page.expect_event("load") as load_info:
84+
page.goto(server.EMPTY_PAGE)
85+
assert isinstance(dom_info.value, Page)
86+
assert isinstance(load_info.value, Page)

0 commit comments

Comments
 (0)