为什么要用AI大模型+Python做web自动化?
Python因其简洁易用和丰富的生态系统,成为自动化领域的首选语言。Playwright作为微软推出的跨浏览器自动化框架,支持Chromium、Firefox和WebKit,功能强大且稳定。结合AI大模型的智能对话能力,我们可以让浏览器“听懂”指令,自动完成复杂任务,极大提升工作效率。
一、环境的安装
1、前提条件
- 已安装 Python(建议 3.7 及以上版本)
- 已配置好 Python 环境变量(可在命令行输入
python --version
验证) - Windows 操作系统(本文以 PowerShell 为例)
2、创建虚拟环境以及对应包
- 打开 PowerShell,进入你想创建项目的目录,例如:
cd D:\browser-use
- 创建名为
browserUse
的虚拟环境:
python -m venv browserUse
该命令会在当前目录下生成一个名为 browserUse
的文件夹,里面包含独立的 Python 运行环境。
- 激活虚拟环境:
.\browserUse\Scripts\activate
激活后,命令行提示符通常会出现 (browserUse)
,表示当前处于该虚拟环境中。
- 升级 pip(Python 包管理器)到最新版本,确保安装包顺利:
pip install --upgrade pip
- 安装 browser-use 包:
pip install browser-use
- 安装 Playwright Python 包:
pip install playwright
- 安装 Playwright 浏览器驱动
Playwright 需要下载对应的浏览器二进制文件,执行以下命令:
python -m playwright install
该命令会自动下载 Chromium、Firefox、WebKit 等浏览器驱动,确保 Playwright 可以正常运行。
示例图如下:
二、获取大模型API
在浏览器中打开能用AI API,根据下面的图片教程获取自己的Base_url 和 Api_key。
https://ai.nengyongai.cn/register?aff=PEeJ
根据此步骤我们可以获取到两个重要的数据:
Base_url = "https://ai.nengyongai.cn/v1"
Api_key = "你自己的key"
三、代码的编写
下面是一个完整示例,演示如何用用AI大模型+Python实现自动打开浏览器,搜索“今天的天气”,并输出我们想要的结果。
# 导入所需的模块和类
from langchain_openai import ChatOpenAI # 用于调用自研大模型接口
from browser_use import Agent, Browser, BrowserConfig # 浏览器自动化相关类
import asyncio # 异步编程模块
from dotenv import load_dotenv # 用于加载环境变量
import os # 操作系统接口模块
# 加载当前目录下的.env文件中的环境变量
load_dotenv()
# 设置Base_url接口地址
Base_url = "https://ai.nengyongai.cn/v1"
# 这里填写你自己的Api_key,建议放在环境变量中,避免明文写在代码里
Api_key = "你自己的key"
# 将Api_key设置到环境变量中,供ChatOpenAI调用
os.environ["OPENAI_API_KEY"] = Api_key
# 创建一个浏览器实例,配置如下:
browser = Browser(
config=BrowserConfig(
headless=False, # 是否无头浏览器,False表示有界面,方便调试
disable_security=True, # 禁用浏览器安全策略,方便跨域等操作
)
)
# 定义异步主函数
async def main():
try:
# 创建一个Agent实例,负责执行任务
agent = Agent(
task="""
1、访问https://www.baidu.com/,
2、搜索内容为“今天的天气”,
3、将今天的天气内容输出出来.
""", # 任务描述,告诉Agent要做什么
llm=ChatOpenAI(
model='gpt-4o-mini', # 使用的模型名称
base_url=Base_url, # base_url
api_key=Api_key # api_key
),
)
# 运行Agent,执行任务,返回结果
result = await agent.run()
# 打印任务执行结果
print(result)
except Exception as e:
# 如果运行过程中出现异常,捕获并打印错误信息
print(f"运行出错: {e}")
# 程序入口,运行异步主函数
if __name__ == '__main__':
asyncio.run(main())
我们直接右键运行,这里差不多要等到5-10秒钟,才能自己执行web自动化。(注意:windows如果出现了启动报错等问题,那么请直接关闭杀毒软件。因为杀毒软件会阻止我们启动浏览器。)
我们可以看到它根据提示词的指示,自动获取启动浏览器,去完成我们的目标。
结语
用AI大模型+Python做Web自动化,不仅是技术的结合,更是紧跟时代以及提升效率的开始。原先的我们需要用到各种定位,现在只需简单几步,你就能让电脑帮你完成繁琐的浏览器操作,希望这篇文章能帮你快速入门,开启自动化新篇章!