Best Python code snippet using playwright-python
setup.py
Source:setup.py
...107 "platform": "win32",108 "zip_name": "win32_x64",109 },110 ]111 self._download_and_extract_local_driver(base_wheel_bundles)112 wheels = base_wheel_bundles113 if not self.all:114 # Limit to 1, since for MacOS e.g. we have multiple wheels for the same platform and architecture and Conda expects 1.115 wheels = list(116 filter(117 lambda wheel: wheel["platform"] == sys.platform118 and wheel["machine"] == platform.machine().lower(),119 base_wheel_bundles,120 )121 )[:1]122 self._build_wheels(wheels)123 def _build_wheels(124 self,125 wheels: List[Dict[str, str]],126 ) -> None:127 base_wheel_location: str = glob.glob(os.path.join(self.dist_dir, "*.whl"))[0]128 without_platform = base_wheel_location[:-7]129 for wheel_bundle in wheels:130 download_driver(wheel_bundle["zip_name"])131 zip_file = (132 f"driver/playwright-{driver_version}-{wheel_bundle['zip_name']}.zip"133 )134 with zipfile.ZipFile(zip_file, "r") as zip:135 extractall(zip, f"driver/{wheel_bundle['zip_name']}")136 wheel_location = without_platform + wheel_bundle["wheel"]137 shutil.copy(base_wheel_location, wheel_location)138 with zipfile.ZipFile(wheel_location, "a") as zip:139 driver_root = os.path.abspath(f"driver/{wheel_bundle['zip_name']}")140 for dir_path, _, files in os.walk(driver_root):141 for file in files:142 from_path = os.path.join(dir_path, file)143 to_path = os.path.relpath(from_path, driver_root)144 zip.write(from_path, f"playwright/driver/{to_path}")145 zip.writestr(146 "playwright/driver/README.md",147 f"{wheel_bundle['wheel']} driver package",148 )149 os.remove(base_wheel_location)150 if InWheel:151 for whlfile in glob.glob(os.path.join(self.dist_dir, "*.whl")):152 os.makedirs("wheelhouse", exist_ok=True)153 with InWheel(154 in_wheel=whlfile,155 out_wheel=os.path.join("wheelhouse", os.path.basename(whlfile)),156 ):157 print(f"Updating RECORD file of {whlfile}")158 shutil.rmtree(self.dist_dir)159 print("Copying new wheels")160 shutil.move("wheelhouse", self.dist_dir)161 else:162 print("auditwheel not installed, not updating RECORD file")163 def _download_and_extract_local_driver(164 self,165 wheels: List[Dict[str, str]],166 ) -> None:167 zip_names_for_current_system = set(168 map(169 lambda wheel: wheel["zip_name"],170 filter(171 lambda wheel: wheel["machine"] == platform.machine().lower()172 and wheel["platform"] == sys.platform,173 wheels,174 ),175 )176 )177 assert len(zip_names_for_current_system) == 1...
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!!