Playwright + DeepSeek實(shí)戰(zhàn):如何讓AI“看懂”網(wǎng)站頁面內(nèi)容?自動(dòng)定位頁面元素?

作者:15726608245 · 2025-03-12 · 閱讀時(shí)間:6分鐘

如何讓 DeepSeek 理解網(wǎng)站頁面內(nèi)容?

“如何讓 DeepSeek 理解網(wǎng)站頁面內(nèi)容?”這個(gè)問題來自一位公眾號(hào)讀者的留言,背后反映了 AI 在自動(dòng)化測試中的一大痛點(diǎn)。為了給出實(shí)用解答,我將以 saucedemo.com 為例,結(jié)合 Python 語言,分享多種實(shí)現(xiàn)方案。如果你對(duì) AI 驅(qū)動(dòng)的測試感興趣,請(qǐng)繼續(xù)閱讀——希望這篇文章能為你帶來啟發(fā)!覺得有用的話,別忘了點(diǎn)贊、關(guān)注和收藏哦!

一、引言

一位讀者在公眾號(hào)留言中問道:“怎么讓 DeepSeek 理解網(wǎng)站頁面呢,總不能輸入一個(gè)網(wǎng)址,他就能理解里面的內(nèi)容吧,而且各個(gè)模塊要點(diǎn)開才能加載出頁面。還是說之前有這一塊內(nèi)容的介紹呢?”這個(gè)問題直擊核心:

這樣的模型如何“看懂”動(dòng)態(tài)網(wǎng)站的內(nèi)容?網(wǎng)站不像靜態(tài)文本,輸入一個(gè)并不能讓直接獲取頁面信息,尤其是那些需要交互(如點(diǎn)擊按鈕)才能加載的模塊。很多測試工程師可能也有類似困惑:能否從躍升到理解頁面邏輯,甚至生成自動(dòng)化腳本?在之前的文章 Playwright + DeepSeek 實(shí)戰(zhàn):手把手教你用 AI 實(shí)現(xiàn) xmind 用例生成到自動(dòng)化測試(以電商為例)我曾通過人工描述網(wǎng)站功能,讓生成測試用例和腳本。這次,我們將更進(jìn)一步,圍繞讀者的提問,探索理解網(wǎng)站內(nèi)容的可行方法,并以為實(shí)戰(zhàn)案例,提供實(shí)現(xiàn)的詳細(xì)解析。

二、問題拆解

  • 的“理解”邊界在哪里?

讓我們先拆解問題,明確挑戰(zhàn)所在:

2.1 動(dòng)態(tài)頁面挑戰(zhàn)

是一個(gè)電商網(wǎng)站,包含登錄、商品列表、購物車和結(jié)算等功能。部分內(nèi)容(例如商品詳情或購物車列表)需要用戶點(diǎn)擊后才會(huì)加載。單純給一個(gè),它無法直接訪問或解析這些動(dòng)態(tài)內(nèi)容。

2.2 的能力限制

當(dāng)前的大語言模型主要依賴文本輸入生成輸出,沒有內(nèi)置瀏覽器或爬蟲功能。它無法像人類一樣打開網(wǎng)頁、點(diǎn)擊按鈕、觀察頁面變化。

2.3 測試工程師的潛在需求

測試工程師可能希望能“自動(dòng)”理解網(wǎng)站內(nèi)容并生成測試用例或腳本,而非依賴人工輸入。那么,這是否可行?如果不可行,有哪些替代方案?基于這些分析,讓盡可能理解的頁面內(nèi)容,并生成有用的自動(dòng)化測試代碼,都有哪些可能的方法,將是本文探討的目標(biāo)。

三、解決方案:從 URL 到頁面內(nèi)容的橋梁

既然無法直接訪問網(wǎng)站,我們需要為它提供“眼睛”和“語言”。以下是三種解決方案,涵蓋從實(shí)用到創(chuàng)新的思路:

3.1 方法一:人工描述頁面功能(實(shí)用方案)

這是目前最直接、高效的方法。通過人工提供網(wǎng)站的結(jié)構(gòu)和功能描述,可以基于文本生成測試用例和腳本。

  • 實(shí)戰(zhàn)示例:分析

假設(shè)我們要測試的購物車功能,可以這樣描述:

  • 提示詞示范
  • 生成代碼

點(diǎn)評(píng)如下:

  • 優(yōu)點(diǎn):簡單高效,生成代碼精準(zhǔn)契合需求。
  • 局限:需要人工提煉頁面信息,網(wǎng)站復(fù)雜時(shí)描述工作量增加。

3.2 抓取 HTML 源碼輸入(進(jìn)階方案)

實(shí)戰(zhàn)實(shí)例:使用獲取商品頁面的源碼

如果想減少人工描述,可以用工具抓取頁面 HTML 源碼,讓分析。例如:

  • 提示詞示范

輸入:

  • 生成代碼
  • 動(dòng)態(tài)內(nèi)容的處理

對(duì)于需要點(diǎn)擊加載的內(nèi)容,可以模擬交互后再抓取。例如:將輸入,讓它分析交互后的變化。

點(diǎn)評(píng)如下:

  • 優(yōu)點(diǎn):減少人工描述,能處理部分動(dòng)態(tài)內(nèi)容。
  • 局限:可能冗長,包含無關(guān)信息,影響分析效果;動(dòng)態(tài)交互仍需人工設(shè)計(jì)抓取邏輯。

3.3 錄制用戶操作流并結(jié)合優(yōu)化(創(chuàng)新方案)

實(shí)戰(zhàn)示例:負(fù)責(zé)錄制腳本,負(fù)責(zé)代碼優(yōu)化擴(kuò)展

為了進(jìn)一步提升效率,我們可以利用的腳本錄制功能,讓基于錄制的腳本進(jìn)行優(yōu)化和擴(kuò)展。

  • 思路如下:

    1. 錄制操作:運(yùn)行,手動(dòng)執(zhí)行操作(如登錄、添加商品),生成腳本。
    2. 喂給 A:將腳本提供給,提示優(yōu)化代碼結(jié)構(gòu)、改進(jìn)元素定位或擴(kuò)展測試用例。
    3. 優(yōu)化與擴(kuò)展:生成模塊化代碼并補(bǔ)充異常場景測試。
  • 假設(shè)錄制登錄操作,生成以下腳本
  • 提示詞示范
  • 回復(fù)

點(diǎn)評(píng)如下:

  1. 高效率:錄制簡單高效,為提供具體輸入,能顯著提升代碼質(zhì)量。
  2. 價(jià)值點(diǎn):減少手動(dòng)編寫腳本的工作量,AI 優(yōu)化提升代碼可維護(hù)性,異常用例擴(kuò)展增強(qiáng)測試覆蓋率。
  3. 局限性:錄制腳本可能包含冗余操作,復(fù)雜場景下可能需人工補(bǔ)充上下文。

四、結(jié)語

綜合來看:

  • 方法一(人工描述): 現(xiàn)階段最實(shí)用、高效,通過清晰文本充分發(fā)揮的語言能力,確保結(jié)果準(zhǔn)確。
  • 方法二(抓取): 適合希望自動(dòng)化提取頁面信息的場景,但需工具支持,且效果受 HTML 質(zhì)量影響。
  • 方法三(錄制操作流 + 優(yōu)化): 創(chuàng)新性方案,適合簡單操作流,能快速生成高質(zhì)量代碼。

以為例,推薦流程:

  • 簡單場景: 直接錄制操作交給優(yōu)化。
  • 復(fù)雜場景: 錄制腳本后,人工補(bǔ)充需求描述,輔助生成完善代碼。
  • 人工描述: 對(duì)于無法錄制的場景,采用人工描述功能。這種方法雖需一定人工參與,但能平衡效率與準(zhǔn)確性

未來,隨著技術(shù)進(jìn)步,我們或許能直接給一個(gè),讓它“自己看懂”頁面。希望這篇文章解答了你的疑問!如果有更多想法,歡迎留言討論。覺得有用的話,別忘了點(diǎn)贊、關(guān)注哦,下次更新不迷路!

原文轉(zhuǎn)載自:https://mp.weixin.qq.com/s/TAWSHob7aizRU7XY_ssAUQ