Best Python code snippet using playwright-python
_page.py
Source:_page.py
...117 self._timeout_settings: TimeoutSettings = TimeoutSettings(None)118 self._video: Optional[Video] = None119 self._channel.on(120 "bindingCall",121 lambda params: self._on_binding(from_channel(params["binding"])),122 )123 self._channel.on("close", lambda _: self._on_close())124 self._channel.on(125 "console",126 lambda params: self.emit(127 Page.Events.Console, from_channel(params["message"])128 ),129 )130 self._channel.on("crash", lambda _: self._on_crash())131 self._channel.on("dialog", lambda params: self._on_dialog(params))132 self._channel.on(133 "domcontentloaded", lambda _: self.emit(Page.Events.DOMContentLoaded)134 )135 self._channel.on(136 "download",137 lambda params: self.emit(138 Page.Events.Download, from_channel(params["download"])139 ),140 )141 self._channel.on(142 "fileChooser",143 lambda params: self.emit(144 Page.Events.FileChooser,145 FileChooser(146 self, from_channel(params["element"]), params["isMultiple"]147 ),148 ),149 )150 self._channel.on(151 "frameAttached",152 lambda params: self._on_frame_attached(from_channel(params["frame"])),153 )154 self._channel.on(155 "frameDetached",156 lambda params: self._on_frame_detached(from_channel(params["frame"])),157 )158 self._channel.on("load", lambda _: self.emit(Page.Events.Load))159 self._channel.on(160 "pageError",161 lambda params: self.emit(162 Page.Events.PageError, parse_error(params["error"]["error"])163 ),164 )165 self._channel.on(166 "popup",167 lambda params: self.emit(Page.Events.Popup, from_channel(params["page"])),168 )169 self._channel.on(170 "request",171 lambda params: self.emit(172 Page.Events.Request, from_channel(params["request"])173 ),174 )175 self._channel.on(176 "requestFailed",177 lambda params: self._on_request_failed(178 from_channel(params["request"]),179 params["responseEndTiming"],180 params["failureText"],181 ),182 )183 self._channel.on(184 "requestFinished",185 lambda params: self._on_request_finished(186 from_channel(params["request"]), params["responseEndTiming"]187 ),188 )189 self._channel.on(190 "response",191 lambda params: self.emit(192 Page.Events.Response, from_channel(params["response"])193 ),194 )195 self._channel.on(196 "route",197 lambda params: self._on_route(198 from_channel(params["route"]), from_channel(params["request"])199 ),200 )201 self._channel.on(202 "video",203 lambda params: cast(Video, self.video)._set_relative_path(204 params["relativePath"]205 ),206 )207 self._channel.on(208 "webSocket",209 lambda params: self.emit(210 Page.Events.WebSocket, from_channel(params["webSocket"])211 ),212 )213 self._channel.on(214 "worker", lambda params: self._on_worker(from_channel(params["worker"]))215 )216 def _set_browser_context(self, context: "BrowserContext") -> None:217 self._browser_context = context218 self._timeout_settings = TimeoutSettings(context._timeout_settings)219 def _on_request_failed(220 self,221 request: Request,222 response_end_timing: float,223 failure_text: str = None,224 ) -> None:225 request._failure_text = failure_text226 if request._timing:227 request._timing["responseEnd"] = response_end_timing228 self.emit(Page.Events.RequestFailed, request)229 def _on_request_finished(230 self, request: Request, response_end_timing: float231 ) -> None:232 if request._timing:233 request._timing["responseEnd"] = response_end_timing234 self.emit(Page.Events.RequestFinished, request)235 def _on_frame_attached(self, frame: Frame) -> None:236 frame._page = self237 self._frames.append(frame)238 self.emit(Page.Events.FrameAttached, frame)239 def _on_frame_detached(self, frame: Frame) -> None:240 self._frames.remove(frame)241 frame._detached = True242 self.emit(Page.Events.FrameDetached, frame)243 def _on_route(self, route: Route, request: Request) -> None:244 for handler_entry in self._routes:245 if handler_entry.matcher.matches(request.url):246 result = cast(Any, handler_entry.handler)(route, request)247 if inspect.iscoroutine(result):248 asyncio.create_task(result)249 return250 self._browser_context._on_route(route, request)251 def _on_binding(self, binding_call: "BindingCall") -> None:252 func = self._bindings.get(binding_call._initializer["name"])253 if func:254 asyncio.create_task(binding_call.call(func))255 self._browser_context._on_binding(binding_call)256 def _on_worker(self, worker: "Worker") -> None:257 self._workers.append(worker)258 worker._page = self259 self.emit(Page.Events.Worker, worker)260 def _on_close(self) -> None:261 self._is_closed = True262 self._browser_context._pages.remove(self)263 self.emit(Page.Events.Close)264 def _on_crash(self) -> None:265 self.emit(Page.Events.Crash)266 def _on_dialog(self, params: Any) -> None:267 dialog = from_channel(params["dialog"])268 if self.listeners(Page.Events.Dialog):269 self.emit(Page.Events.Dialog, dialog)...
_browser_context.py
Source:_browser_context.py
...53 self._is_closed_or_closing = False54 self._options: Dict[str, Any] = {}55 self._channel.on(56 "bindingCall",57 lambda params: self._on_binding(from_channel(params["binding"])),58 )59 self._channel.on("close", lambda _: self._on_close())60 self._channel.on(61 "page", lambda params: self._on_page(from_channel(params["page"]))62 )63 self._channel.on(64 "route",65 lambda params: self._on_route(66 from_channel(params.get("route")), from_channel(params.get("request"))67 ),68 )69 def _on_page(self, page: Page) -> None:70 page._set_browser_context(self)71 self._pages.append(page)72 self.emit(BrowserContext.Events.Page, page)73 def _on_route(self, route: Route, request: Request) -> None:74 for handler_entry in self._routes:75 if handler_entry.matcher.matches(request.url):76 result = cast(Any, handler_entry.handler)(route, request)77 if inspect.iscoroutine(result):78 asyncio.create_task(result)79 return80 asyncio.create_task(route.continue_())81 def _on_binding(self, binding_call: BindingCall) -> None:82 func = self._bindings.get(binding_call._initializer["name"])83 if func is None:84 return85 asyncio.create_task(binding_call.call(func))86 def set_default_navigation_timeout(self, timeout: float) -> None:87 self._timeout_settings.set_navigation_timeout(timeout)88 self._channel.send_no_reply(89 "setDefaultNavigationTimeoutNoReply", dict(timeout=timeout)90 )91 def set_default_timeout(self, timeout: float) -> None:92 self._timeout_settings.set_timeout(timeout)93 self._channel.send_no_reply("setDefaultTimeoutNoReply", dict(timeout=timeout))94 @property95 def pages(self) -> List[Page]:...
window.py
Source:window.py
...72 def _on_window_close(self, i3, event):73 if event.container.window == self._focused_window:74 self._focused_window = None75 self._update(i3.get_tree().find_focused())76 def _on_binding(self, i3, event):77 self._update(i3.get_tree().find_focused())78 def _on_window_title(self, i3, event):79 if event.container.focused:80 self._update(event.container)81 def _on_window_focus(self, i3, event):82 self._focused_window = event.container.window83 self._update(event.container)84 def _update(self, event_element):85 if not event_element:86 return87 # hide title on containers with window title88 if self.parent.hide_title:89 show_name = True90 if event_element.border == "normal" or event_element.type == "workspace":...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!