当前位置: 首页 > web >正文

browser-use:AI驱动的浏览器自动化工具使用指南

AI驱动浏览器自动化

  • browser-use
    • 下载项目
    • 创建Python环境
    • 安装依赖
    • 配置环境
    • 运行WebUI
    • 简单使用
    • Deep Research
    • 使用本地浏览器
    • 免登录

browser-use

browser-use是一个基于 Python 的开源库,旨在简化 AI 代理与浏览器之间的交互。它将先进的AI功能与强大的浏览器自动化功能相结合,通过集成Playwright工具,让AI模型自动化操作浏览器,实现网页浏览、信息提取和用户操作模拟,从而让AI代理能够无缝进行网络交互。

在这里插入图片描述

官网:https://browser-use.com/

文档:https://docs.browser-use.com/introduction

GitHub:https://github.com/browser-use/web-ui(带Web UI界面)

GitHub:https://github.com/browser-use/browser-use(命令版)

下载项目

这里使用带GUI界面的browser-use项目,执行以下命令clone项目

git clone https://github.com/browser-use/web-ui.git
cd web-ui

创建Python环境

创建虚拟环境

conda create -n browser-use python=3.11

激活虚拟环境

conda activate browser-use      

安装依赖

安装项目依赖

pip install -r requirements.txt -i https://pypi.org/simple

安装Playwright支持的浏览器(Chromium、Firefox 和 WebKit)和相关依赖

playwright install 

安装特定的浏览器

playwright install --with-deps chromium

配置环境

Windows:

copy .env.example .env

macOS/Linux:

cp .env.example .env

编辑.env文件,根据需求选择模型厂商,配置模型API KEYAPI URL

OPENAI_ENDPOINT=https://api.xxxx.com/v1
OPENAI_API_KEY=xxxxx

运行WebUI

python webui.py --ip 127.0.0.1 --port 7788

访问:http://127.0.0.1:7788/
在这里插入图片描述
LLM Settings项,选择配置的模型厂商,选择或输入指定模型名称
在这里插入图片描述

简单使用

Run Agent项,使用默认任务描述(访问 google.com 并输入“OpenAI”,点击搜索并给我第一个 url),点击Run Agent执行
在这里插入图片描述
browser-use会自动打开Chromium浏览器,输入OpenAI并搜索给出第一个url地址
在这里插入图片描述
完整过程如下:
请添加图片描述

Deep Research

Deep Research就是深度研究的意思,在Deep Research项下,使用默认研究任务:

撰写一份关于强化学习在大型语言模型训练中的应用的报告,涵盖其起源、当前进展和未来前景,并附上相关模型和技术的实例。报告应体现原创见解和分析,而非仅仅对现有文献进行总结。

点击Run Deep Research开始执行
在这里插入图片描述
这里经过3次深度查询,每次查询结果都会输出成一份md文档,最后会把3分文档整合起来,形成一份完整输出,以下是browser-use默认任务执行完成的输出:
在这里插入图片描述

使用本地浏览器

首先需要找到本地浏览器的安装位置,一个可执行程序。例如Chrome浏览器的可执行地址:‪C:\Program Files\Google\Chrome\Application\chrome.exe
在这里插入图片描述
在.env配置文件中配置该可执行文件路径

# Chrome settings
CHROME_PATH=“C:\Program Files\Google\Chrome\Application\chrome.exe”
CHROME_USER_DATA=
CHROME_DEBUGGING_PORT=9222
CHROME_DEBUGGING_HOST=localhost
# Set to true to keep browser open between AI tasks
CHROME_PERSISTENT_SESSION=false
CHROME_CDP=

重启项目,重新指定模型厂商与模型名称,同时在Browser Settiings勾选Use Own Browser,然后需要完全关闭Chrome,让出操作权限
在这里插入图片描述

免登录

如果想要自动化操作一些需要带认证才能访问的网站,借助上述使用本地浏览器方式执行是完全没问题的,提前是对某网站登录。

但是如果要想使用playwright方式实现类似功能,首先需要实现免登录,此时可以借助一个叫cookie-editor的浏览器插件,实现登录信息跨浏览器共享,实现免登录的效果

在需要操作的某网站,点击cookie-editor插件,点击Export导出JSON信息,并写入某个JSON文件中,例如:D:\\cookies.json
在这里插入图片描述

编辑webui.py文件,在大概470行位置,添加浏览器上下文配置,添加cookies_file参数,指定Cookie导出的json文件地址

            _global_browser_context = await _global_browser.new_context(config=BrowserContextConfig(cookies_file="D:\\cookies.json"trace_path=save_trace_path if save_trace_path else None,save_recording_path=save_recording_path if save_recording_path else None,no_viewport=False,browser_window_size=BrowserContextWindowSize(width=window_w, height=window_h),))

重启项目,指定模型厂商、模型名称、使用playwright安装浏览器,运行相关任务描述可能出现如下错误

INFO     [browser] Loaded 18 cookies from D:\\cookies.json
ERROR    [agent] ❌ Result failed 1/3 times:BrowserContext.add_cookies: cookies[0].sameSite: expected one of (Strict|Lax|None)

解决办法:

执行全局替换操作,将cookies.json中的"sameSite": "no_restriction","sameSite": null,替换成"sameSite": "None",

http://www.xdnf.cn/news/1899.html

相关文章:

  • van-field组件设置为textarea属性被软键盘遮挡问题
  • Linux下编译MNN
  • Java—ThreadLocal底层实现原理
  • uniapp-商城-36-shop 购物车 选好了 进行订单确认2 支付方式颜色变化和颜色滤镜filter
  • 将AAB转APK的两种好用方法AAB to APK Converter
  • 深入理解Java基本类型
  • 软考-软件设计师中级备考 1、计算机内数据的表示
  • 软件编程命名规范
  • Linux 官方蓝牙协议栈 BlueZ 第一篇:入门与架构概览
  • Fanotify学习
  • 基于深度学习的视频目标跟踪算法研究
  • Android 9.0上开发的,如果设置没启动wifi的话,安卓app如何启动wifi
  • cmake 执行命令
  • 《Java编程思想》读书笔记:第十章 内部类
  • vue3 使用 vite 管理多个项目,实现各子项目独立运行,独立打包
  • 生物医药行业中的APS计划排产系统:关键功能与应用
  • 微型计算机原理与接口技术第六版第四章课后习题答案-周荷琴,冯焕清-中国科学技术大学出版社
  • 12个HPC教程汇总!从入门到实战,覆盖分子模拟/材料计算/生物信息分析等多个领域
  • 深入剖析 Vue 双向数据绑定机制 —— 从响应式原理到 v-model 实现全解析
  • Cocos学习之资源动态加载
  • Nacos简介—2.Nacos的原理简介
  • 精益数据分析(22/126):解锁创业增长密码与长漏斗分析
  • 基于springboot的在线教育系统
  • 清理HiNas(海纳斯) Docker日志并限制日志大小
  • MoE架构解析:如何用“分治”思想打造高效大模型?
  • shell脚本3
  • 关于位运算的一些小记
  • 计算机基础 原码反码补码问题
  • exec和spawn
  • CSRF请求伪造