""" Simple demonstration of the CDP feature. To test this locally, follow these steps: 1. Create a shortcut for the executable Chrome file. 2. Add the following argument to the shortcut: - On Windows: `--remote-debugging-port=9222` 3. Open a web browser and navigate to `http://localhost:9222/json/version` to verify that the Remote Debugging Protocol (CDP) is running. 4. Launch this example. @dev You need to set the `GOOGLE_API_KEY` environment variable before proceeding. """ 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 langchain_google_genai import ChatGoogleGenerativeAI from pydantic import SecretStr from browser_use import Agent, Controller from browser_use.browser.browser import Browser, BrowserConfig api_key = os.getenv('GOOGLE_API_KEY') if not api_key: raise ValueError('GOOGLE_API_KEY is not set') browser = Browser( config=BrowserConfig( headless=False, cdp_url='http://localhost:9222', ) ) controller = Controller() async def main(): task = 'In docs.google.com write my Papa a quick thank you for everything letter \n - Magnus' task += ' and save the document as pdf' model = ChatGoogleGenerativeAI(model='gemini-2.0-flash-exp', api_key=SecretStr(str(api_key))) agent = Agent( task=task, llm=model, controller=controller, browser=browser, ) await agent.run() await browser.close() input('Press Enter to close...') if __name__ == '__main__': asyncio.run(main())