Update fun.py
Browse files
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")
|
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 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
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):
|