Best Python code snippet using playwright-python
command.py
Source:command.py
...523 try:524 from playwright._impl._driver import compute_driver_executable525 except ImportError:526 raise ImportError('Python package playwright is not installed; cannot install the Chrome browser')527 driver_executable = compute_driver_executable()528 env = os.environ.copy()529 env['PW_CLI_TARGET_LANG'] = 'python'530 cmd = [str(driver_executable), 'install', 'chrome']531 logger.info(f"Running playwright CLI: {' '.join(cmd)}")532 completed_process = subprocess.run(cmd, env=env, capture_output=True, text=True)533 if completed_process.returncode:534 print(completed_process.stderr)535 return completed_process.returncode536 if completed_process.stdout:537 logger.info(f'Success! Output of Playwright CLI: {completed_process.stdout}')538 return 0539 def handle_actions(self) -> None:540 if self.urlwatch_config.list:541 self.list_jobs()...
utils.py
Source:utils.py
...22@nonebot.get_driver().on_startup23def download_browser():24 if not plugin_config.bison_browser and not plugin_config.bison_use_local:25 env = os.environ.copy()26 driver_executable = compute_driver_executable()27 env["PW_CLI_TARGET_LANG"] = "python"28 subprocess.run([str(driver_executable), "install", "chromium"], env=env)29class Render(metaclass=Singleton):30 def __init__(self):31 self.lock = asyncio.Lock()32 self.browser: Browser33 self.interval_log = ""34 self.remote_browser = False35 async def get_browser(self, playwright: Playwright) -> Browser:36 if plugin_config.bison_browser:37 if plugin_config.bison_browser.startswith("local:"):38 path = plugin_config.bison_browser.split("local:", 1)[1]39 return await playwright.chromium.launch(40 executable_path=path, args=["--no-sandbox"]...
_context_manager.py
Source:_context_manager.py
...21 def __init__(self) -> None:22 self._connection: Connection23 async def __aenter__(self) -> AsyncPlaywright:24 self._connection = Connection(25 None, create_remote_object, compute_driver_executable()26 )27 loop = asyncio.get_running_loop()28 self._connection._loop = loop29 loop.create_task(self._connection.run())30 playwright = AsyncPlaywright(31 await self._connection.wait_for_object_with_known_name("Playwright")32 )33 playwright.stop = self.__aexit__ # type: ignore34 return playwright35 async def start(self) -> AsyncPlaywright:36 return await self.__aenter__()37 async def __aexit__(self, *args: Any) -> None:...
_driver.py
Source:_driver.py
...16import sys17from pathlib import Path18import playwright19from playwright._impl._logger import init_logger20def compute_driver_executable() -> Path:21 package_path = Path(inspect.getfile(playwright)).parent22 platform = sys.platform23 if platform == "win32":24 return package_path / "driver" / "playwright.cmd"25 return package_path / "driver" / "playwright.sh"26if sys.version_info.major == 3 and sys.version_info.minor == 7:27 if sys.platform == "win32":28 # Use ProactorEventLoop in 3.7, which is default in 3.829 asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())30 else:31 # Prevent Python 3.7 from throwing on Linux:32 # RuntimeError: Cannot add child handler, the child watcher does not have a loop attached33 asyncio.get_event_loop()34 asyncio.get_child_watcher()...
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!!