AI測(cè)試之:browser-use

(AI搜的)以下是Browser-use的優(yōu)缺點(diǎn):

### 優(yōu)點(diǎn)

- **跨瀏覽器支持**:Browser-use支持多個(gè)常見的瀏覽器(如Chrome、Firefox等),可以在不同的瀏覽器環(huán)境中執(zhí)行自動(dòng)化任務(wù),保證一致性。

- **簡(jiǎn)潔的API**:提供了一個(gè)高層次的API,用戶可以使用更簡(jiǎn)單的命令進(jìn)行瀏覽器操作,而不需要深入理解底層實(shí)現(xiàn)。

- **任務(wù)自動(dòng)化**:用戶可以輕松地編寫腳本,實(shí)現(xiàn)自動(dòng)化任務(wù),例如自動(dòng)化填充表單、點(diǎn)擊按鈕、導(dǎo)航到特定頁(yè)面等,極大提高了工作效率。

- **集成與擴(kuò)展**:Browser-use可與其他工具(如pytest等測(cè)試框架)結(jié)合使用,幫助用戶實(shí)現(xiàn)端到端的自動(dòng)化測(cè)試。

- **支持瀏覽器插件**:可以通過(guò)設(shè)置插件與瀏覽器交互,擴(kuò)展功能,支持像廣告屏蔽、性能分析等插件的操作。

- **瀏覽器控制與驗(yàn)證**:除了基礎(chǔ)的自動(dòng)化操作,Browser-use還提供了驗(yàn)證功能,允許開發(fā)者檢查網(wǎng)頁(yè)元素的狀態(tài)、獲取信息并進(jìn)行驗(yàn)證。

- **智能糾錯(cuò)**:擁有自我修正能力,在操作失敗時(shí)能自動(dòng)調(diào)整策略并重試。

- **多語(yǔ)言模型支持**:可輕松集成LangChain提供的各類LLM(如OpenAI、Anthropic、Cohere等)進(jìn)行高級(jí)任務(wù)管理。

- **基于Playwright**:默認(rèn)使用Playwright進(jìn)行瀏覽器的無(wú)頭啟動(dòng)、頁(yè)面操作和渲染控制;對(duì)常見網(wǎng)頁(yè)交互場(chǎng)景提供友好的抽象。

- **云端版&本地版**:除了本地安裝運(yùn)行外,Browser-use也提供托管版本,可以直接在云端執(zhí)行,無(wú)需配置本地環(huán)境。

- **Gradio UI測(cè)試**:內(nèi)置示例可以利用Gradio搭建簡(jiǎn)易的可視化界面,方便開發(fā)者快速測(cè)試并可視化瀏覽器自動(dòng)化流程。

- **視覺(jué)+HTML提取**:能夠自動(dòng)解析網(wǎng)頁(yè)內(nèi)容,提取出文本、圖片等視覺(jué)元素以及HTML結(jié)構(gòu),為AI代理提供豐富的輸入信息。

- **自動(dòng)多標(biāo)簽頁(yè)管理**:在處理復(fù)雜的網(wǎng)頁(yè)任務(wù)時(shí),能夠自動(dòng)管理多個(gè)標(biāo)簽頁(yè),確保AI代理能夠高效地在不同頁(yè)面之間切換。

- **添加自定義動(dòng)作**:支持開發(fā)者注冊(cè)自定義動(dòng)作,如保存文件、推送數(shù)據(jù)庫(kù)、發(fā)送通知、獲取用戶輸入等,極大地?cái)U(kuò)展了AI代理的功能范圍。

- **并行化多個(gè)代理**:為了提高自動(dòng)化任務(wù)的效率,允許開發(fā)者并行化多個(gè)AI代理。這些代理可以共享同一個(gè)瀏覽器實(shí)例,但每個(gè)代理都有自己獨(dú)立的上下文環(huán)境,確保任務(wù)之間的獨(dú)立性。

### 缺點(diǎn)

- **對(duì)網(wǎng)絡(luò)環(huán)境要求較高**:Browser-use在執(zhí)行自動(dòng)化任務(wù)時(shí),需要與瀏覽器進(jìn)行通信,如果網(wǎng)絡(luò)不穩(wěn)定,可能會(huì)導(dǎo)致任務(wù)執(zhí)行失敗或出現(xiàn)延遲。

- **學(xué)習(xí)成本**:對(duì)于非技術(shù)用戶或?qū)ψ詣?dòng)化工具不熟悉的用戶,Browser-use的使用需要一定的學(xué)習(xí)成本,包括對(duì)Python編程語(yǔ)言的了解、對(duì)自動(dòng)化測(cè)試框架的熟悉等。

- **資源消耗**:在執(zhí)行復(fù)雜任務(wù)或同時(shí)運(yùn)行多個(gè)代理時(shí),可能會(huì)占用較多的系統(tǒng)資源,如內(nèi)存、CPU等,這可能會(huì)影響其他程序的運(yùn)行。

- **依賴第三方服務(wù)**:Browser-use依賴于一些第三方服務(wù)和工具,如Playwright、LangChain等,如果這些服務(wù)出現(xiàn)問(wèn)題或更新不及時(shí),可能會(huì)影響B(tài)rowser-use的正常使用。


安裝及介紹

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


運(yùn)行通過(guò)的腳本如下:(根據(jù)實(shí)際需要修改部分參數(shù))

from langchain_openai import ChatOpenAI

from browser_use import Agent, BrowserConfig, Browser

import asyncio

from pydantic import SecretStr

import os

# 獲取父目錄

parent_directory = os.path.dirname(__file__)

# 拼接新路徑

save_path = os.path.join(parent_directory, 'conversation_history')

# load_dotenv()

ds_key = 'sk-e6'

def convert_seconds(seconds):

? ? hours = seconds // 3600

? ? minutes = (seconds % 3600) // 60

? ? remaining_seconds = seconds % 60

? ? return hours, minutes, remaining_seconds

async def main():

? ? # Basic configuration

? ? config = BrowserConfig(

? ? ? ? headless=False,

? ? ? ? disable_security=True

? ? )

? ? # 使用已有的瀏覽器,默認(rèn)debug端口9222

? ? browser = Browser(

? ? ? ? # config=config

? ? ? ? config=BrowserConfig(

? ? ? ? ? ? # Specify the path to your Chrome executable

? ? ? ? ? ? chrome_instance_path='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',? # 注意參數(shù)名,官網(wǎng)上面的示例是錯(cuò)的

? ? ? ? ? ? # For Windows, typically: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'

? ? ? ? ? ? # For Linux, typically: '/usr/bin/google-chrome'

? ? ? ? )

? ? )

? ? # 初始化 Agent,指定使用 DeepSeek 作為推理模型

? ? llm = ChatOpenAI(

? ? ? ? base_url='https://api.deepseek.com/v1',

? ? ? ? model='deepseek-reasoner',

? ? ? ? api_key=SecretStr(ds_key),

? ? )

? ? agent = Agent(

? ? ? ? task=task,

? ? ? ? llm=llm,

? ? ? ? use_vision=False,

? ? ? ? save_conversation_path=save_path,? # Save chat logs

? ? ? ? # browser=browser,? # Browser instance will be reused

? ? ? ? max_failures=2,

? ? ? ? max_actions_per_step=1,

? ? )

? ? result = await agent.run()

? ? print("\n======== 測(cè)試結(jié)果 ========")

? ? print(result)

if __name__ == "__main__":

? ? import time

? ? task = """

? ? ? ? ? ? 1. 訪問(wèn)鏈接https://ifs

? ? ? ? ? ? 2. 輸入用戶名“l(fā)um”

? ? ? ? ? ? 3. 輸入密碼“iFS”

? ? ? ? ? ? 4. 點(diǎn)擊登錄

? ? ? ? ? ? """

? ? start_time = time.time()

? ? asyncio.run(main())

? ? end_time = time.time()

? ? elapsed_time = int(end_time - start_time)

? ? hours, minutes, remaining_seconds = convert_seconds(elapsed_time)

? ? print(f"總耗時(shí) {hours} 小時(shí) {minutes} 分鐘 {remaining_seconds} 秒")


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容