| 278 | return msg |
| 279 | |
| 280 | def modify_page(self): |
| 281 | self.page.wait_for_timeout(500) |
| 282 | try: |
| 283 | self.page.evaluate(remove_id_script) |
| 284 | except: |
| 285 | pass |
| 286 | |
| 287 | img_bytes = self.page.screenshot(path="output/screenshot_raw.png") |
| 288 | raw_image = base64.b64encode(img_bytes).decode() |
| 289 | |
| 290 | self.page.evaluate(mix_marker_script) |
| 291 | self.page.wait_for_timeout(100) |
| 292 | |
| 293 | # get all clickable elements |
| 294 | start_id = 0 |
| 295 | elem_items, start_id = self.page.evaluate(get_rect_script, { |
| 296 | "selector": ".possible-clickable-element", |
| 297 | "startIndex": start_id |
| 298 | }) |
| 299 | |
| 300 | # get ocr items |
| 301 | ocr_items = [] |
| 302 | # ocr_items = page.evaluate(canva_handler_script) |
| 303 | # svg_items, _ = page.evaluate(get_rect_script, {"selector": "svg", "startIndex": -1}) |
| 304 | # ocr_items = ocr_items + svg_items |
| 305 | # ocr_items, start_id = get_canva_images(ocr_items, img_bytes, start_id) |
| 306 | |
| 307 | items = elem_items + ocr_items |
| 308 | |
| 309 | # mark our own labels and get the images |
| 310 | items = self.page.evaluate(label_marker_script, items) |
| 311 | img_bytes = self.page.screenshot(path="output/marked.png") |
| 312 | marked_image = base64.b64encode(img_bytes).decode() |
| 313 | |
| 314 | self.page.evaluate(remove_label_mark_script) |
| 315 | |
| 316 | return { |
| 317 | "raw_image": raw_image, |
| 318 | "marked_image": marked_image, |
| 319 | } |