""" 浏览器工具测试 - 修复版 使用 trust_env=False 解决代理环境变量问题 """ import asyncio import sys import os from pathlib import Path # 添加项目根目录到路径 sys.path.insert(0, str(Path(__file__).parent.parent.parent)) # 关键修复:设置环境变量,让 httpx 忽略代理设置 os.environ['NO_PROXY'] = '*' os.environ['no_proxy'] = '*' from browser_use import BrowserSession from browser_use.tools.service import Tools async def test_with_fix(): """测试:使用修复后的配置""" print("\n" + "="*60) print("测试: 修复代理问题后的浏览器启动") print("="*60) try: session = BrowserSession( headless=True, is_local=True, executable_path="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ) print("等待 Chrome 启动...") await asyncio.sleep(3) print("启动会话...") await session.start() print("✅ 浏览器会话启动成功") # 测试导航 tools = Tools() print("测试导航到 example.com...") await tools.navigate(url="https://www.example.com", browser_session=session) print("✅ 导航成功") await session.close() return True except Exception as e: print(f"❌ 失败: {e}") import traceback traceback.print_exc() return False async def main(): print("浏览器工具测试 - 修复版") print("="*60) print("修复方法: 设置 NO_PROXY 环境变量") print("="*60) result = await test_with_fix() print("\n" + "="*60) print("测试结果") print("="*60) print(f"状态: {'✅ 成功' if result else '❌ 失败'}") print("="*60) if result: print("\n💡 解决方案确认:") print("在代码开头添加以下环境变量设置即可解决问题:") print(" os.environ['NO_PROXY'] = '*'") print(" os.environ['no_proxy'] = '*'") if __name__ == "__main__": asyncio.run(main())