MCPcopy
hub / github.com/stitionai/devika / screenshot

Method screenshot

src/browser/browser.py:39–58  ·  view source on GitHub ↗
(self, project_name)

Source from the content-addressed store, hash-verified

37 return True
38
39 async def screenshot(self, project_name):
40 screenshots_save_path = Config().get_screenshots_dir()
41
42 page_metadata = await self.page.evaluate("() => { return { url: document.location.href, title: document.title } }")
43 page_url = page_metadata['url']
44 random_filename = os.urandom(20).hex()
45 filename_to_save = f"{random_filename}.png"
46 path_to_save = os.path.join(screenshots_save_path, filename_to_save)
47
48 await self.page.emulate_media(media="screen")
49 await self.page.screenshot(path=path_to_save, full_page=True)
50 screenshot = await self.page.screenshot()
51 screenshot_bytes = base64.b64encode(screenshot).decode()
52 new_state = self.agent.new_state()
53 new_state["internal_monologue"] = "Browsing the web right now..."
54 new_state["browser_session"]["url"] = page_url
55 new_state["browser_session"]["screenshot"] = path_to_save
56 self.agent.add_to_current_state(project_name, new_state)
57 # self.close()
58 return path_to_save, screenshot_bytes
59
60 def get_html(self):
61 return self.page.content()

Callers 1

open_pageMethod · 0.45

Calls 4

ConfigClass · 0.90
get_screenshots_dirMethod · 0.80
new_stateMethod · 0.80
add_to_current_stateMethod · 0.80

Tested by

no test coverage detected