MCPcopy Create free account
hub / github.com/microsoft/Webwright / _build_parser

Function _build_parser

src/webwright/tools/persistent_local_browser.py:231–305  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

229
230
231def _build_parser() -> argparse.ArgumentParser:
232 parser = argparse.ArgumentParser(
233 prog="python -m webwright.tools.persistent_local_browser",
234 description="Manage a keep-alive local Chromium session shared across bash steps.",
235 )
236 parser.add_argument(
237 "--workspace-dir",
238 default="",
239 help="Resolve --out / --session-file / --user-data-dir relative to this directory.",
240 )
241
242 sub = parser.add_subparsers(dest="command", required=True)
243
244 create = sub.add_parser("create", help="Launch a detached Chromium and persist its connectUrl.")
245 create.add_argument("--out", default=DEFAULT_SESSION_FILE, help="Where to write the session JSON.")
246 create.add_argument(
247 "--user-data-dir",
248 default="",
249 help=f"Per-session Chromium user-data-dir (default: <workspace>/{DEFAULT_USER_DATA_SUBDIR}).",
250 )
251 create.add_argument(
252 "--headless",
253 action=argparse.BooleanOptionalAction,
254 default=True,
255 help="Launch Chromium headless (default: True).",
256 )
257 create.add_argument(
258 "--no-sandbox",
259 action=argparse.BooleanOptionalAction,
260 default=True,
261 help="Pass --no-sandbox (often required in containers/CI).",
262 )
263 create.add_argument("--window-width", type=int, default=1280)
264 create.add_argument("--window-height", type=int, default=1800)
265 create.add_argument(
266 "--startup-timeout",
267 type=float,
268 default=30.0,
269 help="Seconds to wait for the DevTools URL to appear on stderr.",
270 )
271 create.add_argument(
272 "--chromium-arg",
273 action="append",
274 default=[],
275 help="Extra Chromium command-line argument; repeat for multiple.",
276 )
277 create.set_defaults(func=_cmd_create)
278
279 info = sub.add_parser("info", help="Print the persisted session JSON and liveness.")
280 info.add_argument("--session-file", default=DEFAULT_SESSION_FILE)
281 info.set_defaults(func=_cmd_info)
282
283 release = sub.add_parser("release", help="Terminate the persisted session.")
284 release.add_argument("--session-file", default=DEFAULT_SESSION_FILE)
285 release.add_argument(
286 "--delete-file",
287 action=argparse.BooleanOptionalAction,
288 default=True,

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected