main
_py 64 lines 2.51 KB
Raw
1 # import asyncio
2 # from helpers.tool import Tool, Response
3 # from tools.browser import Browser
4 # from helpers.browser import NoPageError
5 # import asyncio
6
7
8 # class BrowserDo(Browser):
9
10 # async def execute(self, fill=[], press=[], click=[], execute="", **kwargs):
11 # await self.prepare_state()
12 # result = ""
13 # try:
14 # if fill:
15 # self.update_progress("Filling fields...")
16 # for f in fill:
17 # await self.state.browser.fill(f["selector"], f["text"])
18 # await self.state.browser.wait(0.5)
19 # if press:
20 # self.update_progress("Pressing keys...")
21 # if fill:
22 # await self.state.browser.wait(1)
23 # for p in press:
24 # await self.state.browser.press(p)
25 # await self.state.browser.wait(0.5)
26 # if click:
27 # self.update_progress("Clicking...")
28 # if fill:
29 # await self.state.browser.wait(1)
30 # for c in click:
31 # await self.state.browser.click(c)
32 # await self.state.browser.wait(0.5)
33 # if execute:
34 # if fill or press or click:
35 # await self.state.browser.wait(1)
36 # self.update_progress("Executing...")
37 # result = await self.state.browser.execute(execute)
38 # self.log.update(result=result)
39
40 # self.update_progress("Retrieving...")
41 # await self.state.browser.wait_for_action()
42 # dom = await self.state.browser.get_clean_dom()
43 # if result:
44 # response = f"Result:\n{result}\n\nDOM:\n{dom}"
45 # else:
46 # response = dom
47 # self.update_progress("Taking screenshot...")
48 # screenshot = await self.save_screenshot()
49 # self.log.update(screenshot=screenshot)
50 # except Exception as e:
51 # response = str(e)
52 # self.log.update(error=response)
53
54 # try:
55 # screenshot = await self.save_screenshot()
56 # dom = await self.state.browser.get_clean_dom()
57 # response = f"Error:\n{response}\n\nDOM:\n{dom}"
58 # self.log.update(screenshot=screenshot)
59 # except Exception:
60 # pass
61
62 # self.cleanup_history()
63 # self.update_progress("Done")
64 # return Response(message=response, break_loop=False)