Best Python code snippet using playwright-python
playwrightmanager.py
Source:playwrightmanager.py
...42 if self.enable_playwright_debug:43 os.environ["DEBUG"] = "pw:api"44 os.environ["PLAYWRIGHT_BROWSERS_PATH"] = "0"45 self._playwright_process = PlaywrightContextManager().start()46 def connect_over_cdp(47 self,48 endpoint_url: str,49 *,50 headers: typing.Dict[str, str] = None,51 slow_mo: float = None,52 timeout: float = None53 ):54 """æ¤æ¹æ³ä½¿ç¨ Chrome DevTools åè®®å° Playwright éå å°ç°ææµè§å¨å®ä¾ã55 注æï¼åªæåºäº Chromium çæµè§å¨ææ¯æéè¿ Chrome DevTools åè®®è¿è¡è¿æ¥ã56 :param endpoint_url: è¦è¿æ¥å°ç CDP websocket 端ç¹æ http urlã57 ä¾å¦ http://localhost:9222/ æ ws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4ã58 :param headers: ä¸è¿æ¥è¯·æ±ä¸èµ·åéçéå HTTP æ 头ã å¯éçã59 :param slow_mo: å° Playwright æä½åæ
¢æå®ç毫ç§æ°ãå¾æç¨ï¼ä»¥ä¾¿çå°æ£å¨åççäºæ
ã é»è®¤ä¸º 0ã60 :param timeout: çå¾
建ç«è¿æ¥çæé¿æ¶é´ï¼ä»¥æ¯«ç§ä¸ºåä½ï¼ãé»è®¤ä¸º 30000ï¼30 ç§ï¼ã ä¼ é 0 以ç¦ç¨è¶
æ¶ã61 """62 browser_type = self._playwright_process.chromium63 self._browser = browser_type.connect_over_cdp(64 endpoint_url=endpoint_url,65 headers=headers,66 slow_mo=slow_mo,67 timeout=timeout68 )69 self._context = self._browser.contexts[0]70 self._page = self._context.pages[0]71 self._interaction = self._page72 def new_browser(73 self,74 *,75 browser: SupportedBrowsers = SupportedBrowsers.chromium,76 args: typing.List[str] = None,77 downloads_path: typing.Union[str, pathlib.Path] = None,...
_browser_type.py
Source:_browser_type.py
...139 )140 context._options = params141 context.tracing._local_utils = self._playwright._utils142 return context143 async def connect_over_cdp(144 self,145 endpointURL: str,146 timeout: float = None,147 slow_mo: float = None,148 headers: Dict[str, str] = None,149 ) -> Browser:150 params = locals_to_params(locals())151 response = await self._channel.send_return_as_dict("connectOverCDP", params)152 browser = cast(Browser, from_channel(response["browser"]))153 browser._local_utils = self._playwright._utils154 default_context = cast(155 Optional[BrowserContext],156 from_nullable_channel(response.get("defaultContext")),157 )...
utils.py
Source:utils.py
...40 executable_path=path, args=["--no-sandbox"]41 )42 if plugin_config.bison_browser.startswith("ws:"):43 self.remote_browser = True44 return await playwright.chromium.connect_over_cdp(45 plugin_config.bison_browser46 )47 raise RuntimeError("bison_BROWSER error")48 if plugin_config.bison_use_local:49 return await playwright.chromium.launch(50 executable_path="/usr/bin/chromium", args=["--no-sandbox"]51 )52 return await playwright.chromium.launch(args=["--no-sandbox"])53 async def close_browser(self):54 if not self.remote_browser:55 await self.browser.close()56 async def render(57 self,58 url: str,...
test_browsertype_connect_cdp.py
Source:test_browsertype_connect_cdp.py
...23 port = find_free_port()24 browser_server = await browser_type.launch(25 **launch_arguments, args=[f"--remote-debugging-port={port}"]26 )27 cdp_browser = await browser_type.connect_over_cdp(f"http://localhost:{port}")28 assert len(cdp_browser.contexts) == 129 await cdp_browser.close()30 await browser_server.close()31async def test_connect_to_an_existing_cdp_session_twice(32 launch_arguments: Dict, browser_type: BrowserType, server: Server33):34 port = find_free_port()35 browser_server = await browser_type.launch(36 **launch_arguments, args=[f"--remote-debugging-port={port}"]37 )38 endpoint_url = f"http://localhost:{port}"39 cdp_browser1 = await browser_type.connect_over_cdp(endpoint_url)40 cdp_browser2 = await browser_type.connect_over_cdp(endpoint_url)41 assert len(cdp_browser1.contexts) == 142 page1 = await cdp_browser1.contexts[0].new_page()43 await page1.goto(server.EMPTY_PAGE)44 assert len(cdp_browser2.contexts) == 145 page2 = await cdp_browser2.contexts[0].new_page()46 await page2.goto(server.EMPTY_PAGE)47 assert len(cdp_browser1.contexts[0].pages) == 248 assert len(cdp_browser2.contexts[0].pages) == 249 await cdp_browser1.close()50 await cdp_browser2.close()51 await browser_server.close()52def _ws_endpoint_from_url(url: str) -> str:53 response = requests.get(url)54 assert response.ok55 response_body = response.json()56 return response_body["webSocketDebuggerUrl"]57async def test_conect_over_a_ws_endpoint(58 launch_arguments: Dict, browser_type: BrowserType, server: Server59):60 port = find_free_port()61 browser_server = await browser_type.launch(62 **launch_arguments, args=[f"--remote-debugging-port={port}"]63 )64 ws_endpoint = _ws_endpoint_from_url(f"http://localhost:{port}/json/version/")65 cdp_browser1 = await browser_type.connect_over_cdp(ws_endpoint)66 assert len(cdp_browser1.contexts) == 167 await cdp_browser1.close()68 cdp_browser2 = await browser_type.connect_over_cdp(ws_endpoint)69 assert len(cdp_browser2.contexts) == 170 await cdp_browser2.close()...
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!!