Spaces:
BG5
/
Running

BG5 commited on
Commit
0bf5920
·
verified ·
1 Parent(s): 5efdb68

Update fun.py

Browse files
Files changed (1) hide show
  1. fun.py +8 -3
fun.py CHANGED
@@ -52,7 +52,7 @@ def get_default_launch_args():
52
  @app.post("/browser/open")
53
  async def open_browser(request: Request):
54
  data = await request.json()
55
- browser_id = data.get("id") or gen_browser_id()
56
  if browser_id in BROWSERS:
57
  return {"code": 0, "msg": "already opened", "data": {"id": browser_id, "port": BROWSERS[browser_id]["port"]}}
58
  port = get_free_port()
@@ -77,8 +77,13 @@ async def open_browser(request: Request):
77
  deduped_args.append(arg)
78
  args = [CHROME_PATH] + deduped_args
79
  proc = subprocess.Popen(args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
80
- BROWSERS[browser_id] = {"process": proc, "port": port, "status": "open"}
81
- return {"code": 0, "msg": "success", "data": {"id": browser_id, "port": port}}
 
 
 
 
 
82
 
83
  @app.post("/browser/close")
84
  async def close_browser(request: Request):
 
52
  @app.post("/browser/open")
53
  async def open_browser(request: Request):
54
  data = await request.json()
55
+ browser_id = data.get("id","")
56
  if browser_id in BROWSERS:
57
  return {"code": 0, "msg": "already opened", "data": {"id": browser_id, "port": BROWSERS[browser_id]["port"]}}
58
  port = get_free_port()
 
77
  deduped_args.append(arg)
78
  args = [CHROME_PATH] + deduped_args
79
  proc = subprocess.Popen(args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
80
+ async with httpx.AsyncClient() as client:
81
+ resp = await client.get(f"http://127.0.0.1:{port}/json/version")
82
+ if resp.status_code == 200:
83
+ browser_info = resp.json()
84
+ browser_id = browser_info.get("webSocketDebuggerUrl").split("/")[-1]
85
+ BROWSERS[browser_id] = {"process": proc, "port": port, "status": "open", "info": browser_info}
86
+ return {"code": 0, "msg": "success", "data": {"id": browser_id, "port": port}, "info": browser_info}
87
 
88
  @app.post("/browser/close")
89
  async def close_browser(request: Request):