更新: 21 个文件 - 2026-03-17 00:00:00
这个提交包含在:
@@ -25,8 +25,12 @@ def capture(url: str, run_dir: Path, prefix: str = "baseline") -> Dict[str, Any]
|
||||
dom_path = assets_dir / f"{prefix}-dom.html"
|
||||
console_path = run_dir / "logs" / f"{prefix}-console.json"
|
||||
network_path = run_dir / "logs" / f"{prefix}-network.json"
|
||||
page_path = run_dir / "logs" / f"{prefix}-page.json"
|
||||
console_messages: List[Dict[str, Any]] = []
|
||||
requests_seen: List[Dict[str, Any]] = []
|
||||
page_title = ""
|
||||
page_body_excerpt = ""
|
||||
final_url = url
|
||||
try:
|
||||
with sync_playwright() as p:
|
||||
browser = p.chromium.launch(headless=True)
|
||||
@@ -36,6 +40,9 @@ def capture(url: str, run_dir: Path, prefix: str = "baseline") -> Dict[str, Any]
|
||||
page.goto(url, wait_until="networkidle", timeout=20000)
|
||||
page.screenshot(path=str(screenshot_path), full_page=True)
|
||||
dom_path.write_text(page.content(), encoding="utf-8")
|
||||
final_url = page.url
|
||||
page_title = page.title()
|
||||
page_body_excerpt = (page.text_content("body") or "")[:600]
|
||||
browser.close()
|
||||
except Exception as exc:
|
||||
payload["reason"] = str(exc)
|
||||
@@ -43,10 +50,20 @@ def capture(url: str, run_dir: Path, prefix: str = "baseline") -> Dict[str, Any]
|
||||
return payload
|
||||
write_json(console_path, console_messages)
|
||||
write_json(network_path, requests_seen)
|
||||
write_json(
|
||||
page_path,
|
||||
{
|
||||
"url": final_url,
|
||||
"title": page_title,
|
||||
"body_excerpt": page_body_excerpt,
|
||||
},
|
||||
)
|
||||
payload = {
|
||||
"required": True,
|
||||
"present": True,
|
||||
"refs": [str(screenshot_path), str(dom_path), str(console_path), str(network_path)],
|
||||
"page_title": page_title,
|
||||
"page_url": final_url,
|
||||
"refs": [str(screenshot_path), str(dom_path), str(console_path), str(network_path), str(page_path)],
|
||||
}
|
||||
write_json(run_dir / "logs" / f"{prefix}-browser.json", payload)
|
||||
return payload
|
||||
|
||||
在新工单中引用
屏蔽一个用户