PYAE1994 commited on
Commit
62eebb7
·
verified ·
1 Parent(s): 138b2e5

Create browser_tools.py

Browse files
Files changed (1) hide show
  1. app/agent/browser_tools.py +33 -0
app/agent/browser_tools.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from playwright.sync_api import sync_playwright
2
+
3
+ class BrowserTool:
4
+
5
+ def __init__(self):
6
+ self.playwright = sync_playwright().start()
7
+ self.browser = self.playwright.chromium.launch(headless=True)
8
+ self.page = self.browser.new_page()
9
+
10
+ def open_url(self, url: str):
11
+ self.page.goto(url)
12
+ return {"status": "opened", "url": url}
13
+
14
+ def click(self, selector: str):
15
+ self.page.click(selector)
16
+ return {"status": "clicked", "selector": selector}
17
+
18
+ def type(self, selector: str, text: str):
19
+ self.page.fill(selector, text)
20
+ return {"status": "typed", "selector": selector}
21
+
22
+ def get_text(self):
23
+ return {
24
+ "content": self.page.content()
25
+ }
26
+
27
+ def screenshot(self, path="screen.png"):
28
+ self.page.screenshot(path=path)
29
+ return {"status": "screenshot", "path": path}
30
+
31
+ def close(self):
32
+ self.browser.close()
33
+ self.playwright.stop()