dina1 commited on
Commit
f49d63a
Β·
verified Β·
1 Parent(s): ddf7cb6

Update playwright_model.py

Browse files
Files changed (1) hide show
  1. playwright_model.py +12 -23
playwright_model.py CHANGED
@@ -68,34 +68,22 @@ async def capture_workflows(public_url: str, pdf_filename: str = "workflow_scree
68
  break
69
 
70
  screen_name = result.get("screenName", f"screen_{index}")
 
 
71
 
72
- # 🧠 Dynamically detect readable title name
73
- readable_name = await page.evaluate(
74
- """(defaultName) => {
75
- let title = null;
76
- const activeMenu = document.querySelector('.menu-item.active');
77
- const visibleTitle = document.querySelector('.page-title, .header-title, main h2');
78
- if (activeMenu && activeMenu.textContent.trim()) title = activeMenu.textContent.trim();
79
- else if (visibleTitle && visibleTitle.textContent.trim()) title = visibleTitle.textContent.trim();
80
- else title = defaultName;
81
- return title;
82
- }""",
83
- screen_name
84
- )
85
-
86
- # πŸͺ„ Update visible + browser tab title dynamically
87
  await page.evaluate(
88
- """(titleName) => {
 
89
  const titleEl = document.querySelector('.page-title, .header-title, main h2');
90
- if (titleEl) titleEl.textContent = titleName;
91
- document.title = titleName;
 
 
92
  }""",
93
- readable_name
94
  )
95
 
96
- screenshot_path = os.path.join(OUTPUT_DIR, f"{readable_name}.png")
97
- print(f"πŸ“Έ Capturing {readable_name} -> {screenshot_path}")
98
-
99
  await asyncio.sleep(1.2) # wait for animations/UI updates
100
  await page.screenshot(path=screenshot_path, full_page=True)
101
  screenshots.append(screenshot_path)
@@ -103,7 +91,7 @@ async def capture_workflows(public_url: str, pdf_filename: str = "workflow_scree
103
 
104
  await browser.close()
105
 
106
- # βœ… Combine into PDF
107
  if not screenshots:
108
  raise RuntimeError("No screenshots captured β€” check if .screen elements exist!")
109
 
@@ -122,4 +110,5 @@ async def capture_workflows(public_url: str, pdf_filename: str = "workflow_scree
122
  print(f"βœ… PDF generated successfully: {pdf_path}")
123
  return pdf_path
124
 
 
125
  generate_ui_report = capture_workflows
 
68
  break
69
 
70
  screen_name = result.get("screenName", f"screen_{index}")
71
+ screenshot_path = os.path.join(OUTPUT_DIR, f"{screen_name}.png")
72
+ print(f"πŸ“Έ Capturing {screen_name} -> {screenshot_path}")
73
 
74
+ # βœ… Dynamically update visible and tab title before screenshot
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  await page.evaluate(
76
+ """(name) => {
77
+ // Update visible title text
78
  const titleEl = document.querySelector('.page-title, .header-title, main h2');
79
+ if (titleEl) titleEl.textContent = name;
80
+
81
+ // Update browser tab title
82
+ document.title = name;
83
  }""",
84
+ screen_name
85
  )
86
 
 
 
 
87
  await asyncio.sleep(1.2) # wait for animations/UI updates
88
  await page.screenshot(path=screenshot_path, full_page=True)
89
  screenshots.append(screenshot_path)
 
91
 
92
  await browser.close()
93
 
94
+ # βœ… Combine all screenshots into a single PDF
95
  if not screenshots:
96
  raise RuntimeError("No screenshots captured β€” check if .screen elements exist!")
97
 
 
110
  print(f"βœ… PDF generated successfully: {pdf_path}")
111
  return pdf_path
112
 
113
+
114
  generate_ui_report = capture_workflows