""" Connect to your existing Chrome browser so it's logged into your websites """ 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 Agent, Browser, ChatGoogle def select_chrome_profile() -> str | None: """Prompt user to select a Chrome profile.""" profiles = Browser.list_chrome_profiles() if not profiles: return None print('Available Chrome profiles:') for i, p in enumerate(profiles, 1): print(f' {i}. {p["name"]}') while True: choice = input(f'\nSelect profile (1-{len(profiles)}): ').strip() if choice.isdigit() and 1 <= int(choice) <= len(profiles): return profiles[int(choice) - 1]['directory'] print('Invalid choice, try again.') async def main(): profile = select_chrome_profile() browser = Browser.from_system_chrome(profile_directory=profile) agent = Agent( llm=ChatGoogle(model='gemini-3-flash-preview'), task='go to amazon.com and search for pens to draw on whiteboards', browser=browser, ) await agent.run() if __name__ == '__main__': asyncio.run(main())