Spaces:
Sleeping
Sleeping
| from playwright.sync_api import sync_playwright | |
| class BrowserTool: | |
| def __init__(self): | |
| self.playwright = sync_playwright().start() | |
| self.browser = self.playwright.chromium.launch(headless=True) | |
| self.page = self.browser.new_page() | |
| def open_url(self, url: str): | |
| self.page.goto(url) | |
| return {"status": "opened", "url": url} | |
| def click(self, selector: str): | |
| self.page.click(selector) | |
| return {"status": "clicked", "selector": selector} | |
| def type(self, selector: str, text: str): | |
| self.page.fill(selector, text) | |
| return {"status": "typed", "selector": selector} | |
| def get_text(self): | |
| return { | |
| "content": self.page.content() | |
| } | |
| def screenshot(self, path="screen.png"): | |
| self.page.screenshot(path=path) | |
| return {"status": "screenshot", "path": path} | |
| def close(self): | |
| self.browser.close() | |
| self.playwright.stop() |