Files
browser-use/examples/custom-functions/notification.py
Magnus Müller 14229cd6e3 Enhance example scripts and improve test handling
- Updated `simple.py` to initialize `Browser` and `Tools` instances, improving agent configuration.
- Fixed action decorator in `notification.py` by removing trailing space for consistency.
- Adjusted test behavior in `test_browser_session_tab_management.py` to skip tests on initial tab count issues, improving test reliability.
- Stopped server in `test_browser_watchdog_downloads_upload_full_circle.py` to ensure proper cleanup before skipping tests.

These changes aim to enhance clarity and maintainability across examples and tests.
2025-08-27 01:04:14 -07:00

44 lines
1.0 KiB
Python

import asyncio
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
from dotenv import load_dotenv
load_dotenv()
from browser_use import ActionResult, Agent, ChatOpenAI, Tools
tools = Tools()
@tools.registry.action('Done with task')
async def done(text: str):
import yagmail # type: ignore
# To send emails use
# STEP 1: go to https://support.google.com/accounts/answer/185833
# STEP 2: Create an app password (you can't use here your normal gmail password)
# STEP 3: Use the app password in the code below for the password
yag = yagmail.SMTP('your_email@gmail.com', 'your_app_password')
yag.send(
to='recipient@example.com',
subject='Test Email',
contents=f'result\n: {text}',
)
return ActionResult(is_done=True, extracted_content='Email sent!')
async def main():
task = 'go to brower-use.com and then done'
model = ChatOpenAI(model='gpt-4.1-mini')
agent = Agent(task=task, llm=model, tools=tools)
await agent.run()
if __name__ == '__main__':
asyncio.run(main())