html5websocket實例(html5 websocket)
什么是瀏覽器自動化?
自動化是現(xiàn)代科技的重要標志,它使得機器設備、系統(tǒng)或過程可以在沒有人或較少人的直接參與下,按照人的要求,通過自動檢測、信息處理、分析判斷、操縱控制,實現(xiàn)預期的目標。在工業(yè)、農(nóng)業(yè)、軍事、科學研究、交通運輸、商業(yè)、醫(yī)療、服務和家庭等方面廣泛應用。
瀏覽器自動化就是其中的一種,它使用應用程序為我們完成重復性的任務,以實現(xiàn)人為干預無法實現(xiàn)的速度和效率水平。
那么,為什么我們需要瀏覽器自動化呢?實際上,瀏覽器自動化有很多使用場景:
自動點擊網(wǎng)頁:最常見的瀏覽器自動化任務之一是自動單擊網(wǎng)頁中的按鈕或鏈接。單擊按鈕用于導航網(wǎng)站、確認數(shù)據(jù)輸入操作、選擇指向其他頁面的鏈接或取消導航。
自動填寫表單:可以自動執(zhí)行重復的數(shù)據(jù)輸入任務。源數(shù)據(jù)可能來自數(shù)據(jù)庫、Excel 或 CSV 文件,甚至從另一個應用程序中讀取數(shù)據(jù)。然后,它可以自動輸入到表單中,并通過單擊按鈕接受信息。
從網(wǎng)頁中提取數(shù)據(jù):當執(zhí)行數(shù)據(jù)輸入或搜索任務時,通常需要從網(wǎng)頁中提取結果。結果可以是 HTML 標記、文本或字段值、指向文件的超鏈接,或者在自動化后續(xù)過程中可能需要使用的任何其他特定屬性。
自動化測試:自動化測試包含了很多方面,比如性能測試。但在瀏覽器自動化中,我們一般指的是端到端功能測試。例如,檢查在登錄頁面上輸入無效的登錄名或密碼時,是否會顯示一條錯誤消息。
自動點擊網(wǎng)頁:最常見的瀏覽器自動化任務之一是自動單擊網(wǎng)頁中的按鈕或鏈接。單擊按鈕用于導航網(wǎng)站、確認數(shù)據(jù)輸入操作、選擇指向其他頁面的鏈接或取消導航。
自動填寫表單:可以自動執(zhí)行重復的數(shù)據(jù)輸入任務。源數(shù)據(jù)可能來自數(shù)據(jù)庫、Excel 或 CSV 文件,甚至從另一個應用程序中讀取數(shù)據(jù)。然后,它可以自動輸入到表單中,并通過單擊按鈕接受信息。
從網(wǎng)頁中提取數(shù)據(jù):當執(zhí)行數(shù)據(jù)輸入或搜索任務時,通常需要從網(wǎng)頁中提取結果。結果可以是 HTML 標記、文本或字段值、指向文件的超鏈接,或者在自動化后續(xù)過程中可能需要使用的任何其他特定屬性。
自動化測試:自動化測試包含了很多方面,比如性能測試。但在瀏覽器自動化中,我們一般指的是端到端功能測試。例如,檢查在登錄頁面上輸入無效的登錄名或密碼時,是否會顯示一條錯誤消息。
實現(xiàn)瀏覽器自動化需要考慮如何實現(xiàn)應用程序與瀏覽器進行交互,這聽起來很具有挑戰(zhàn)性。但幸運的是,市面上已經(jīng)有了一些很棒的工具,幫助我們實現(xiàn)瀏覽器自動化。其中,Playwright 是一款強大的瀏覽器自動化工具,可以讓你輕松地完成上述任務。
什么是 Playwright?
Playwright是一款由Microsoft開發(fā)和維護的開源跨瀏覽器自動化庫,它專為Web應用程序而設計。Playwright的特點非常豐富,包括跨瀏覽器、跨平臺、跨語言、自動等待、支持多標簽頁/瀏覽器窗口、調(diào)試工具支持等等。其中最值得一提的是自動等待功能,它可以在執(zhí)行動作之前等待元素是可操作的,消除了人為超時的需要,這是導致測試不可靠的主要原因。此外,它還支持多標簽頁/瀏覽器窗口,可以像一個真正的用戶一樣與多頁面、多網(wǎng)站交互,并輕松處理frames和瀏覽器事件。另外,它提供了許多不同的調(diào)試選項,使其對開發(fā)人員友好。
展開全文
與老牌的自動化測試框架Selenium相比,Playwright更加現(xiàn)代化。Selenium的實現(xiàn)是非常臃腫的3層架構,因為它需要一個特有瀏覽器的WebDriver中間層實現(xiàn)來與瀏覽器進行交互。而現(xiàn)代瀏覽器已經(jīng)支持了一些原生的功能,比如Chrome DevTools Protocol,它允許開發(fā)者通過一個簡單的WebSocket連接與瀏覽器進行交互,這些功能都是基于標準的,而不是特定瀏覽器的。因此,Playwright無需瀏覽器幫它實現(xiàn)任何功能,而是利用這些原生功能直接與瀏覽器進行交互,來實現(xiàn)瀏覽器自動化。這使得Playwright的架構更加簡單,更加現(xiàn)代。
總之,Playwright是一款功能強大、現(xiàn)代化的瀏覽器自動化工具,它可以更快、更可靠地完成瀏覽器自動化操作。
Hello Playwright
Playwright是一種跨平臺的開源瀏覽器自動化工具,支持多種編程語言,包括Java、Type、Python、Java和C#。在這里,我們將使用C#編寫示例代碼。接下來,我們將從設置C#開發(fā)環(huán)境開始,讓你快速掌握Playwright的使用方法。
設置開發(fā)環(huán)境
雖然可以使用不同的方式開發(fā)C#代碼,但是大多數(shù)C#程序員還是使用Microsoft Visual Studio。因此,我們選擇Visual Studio作為本書的集成開發(fā)環(huán)境(IDE)。
首先,用瀏覽器訪問 https://visualstudio.microsoft.com/zh-hans/downloads,下載所需的Visual Studio版本,保存到“下載”文件夾。 運行剛才下載的引導程序文件以安裝Visual Studio Installer。安裝完Visual Studio Installer后,可以使用它通過選擇所需的功能集或工作負載來自定義安裝。在這里,我們選中“ASP.NET 和 Web 開發(fā)”和“.NET 桌面開發(fā)”,點擊“安裝”按鈕,等待安裝完成。
創(chuàng)建C#項目
運行安裝好的Visual Studio,在“開始”窗口中,選擇“創(chuàng)建新項目”。在“創(chuàng)建新項目”窗口中,選擇“控制臺應用”作為要創(chuàng)建的應用類型,點擊“下一步”按鈕。在“配置新項目”窗口中,輸入“項目名稱”和“位置”,點擊“下一步”按鈕。在“其他信息”窗口中,選擇“.NET 6.0”作為目標框架。點擊“創(chuàng)建”按鈕,完成項目的創(chuàng)建。
添加Playwright依賴
在Visual Studio的右側“解決方案資源管理器”的項目名稱上點右鍵,選擇“在終端中打開”,進入開發(fā)者PowerShell窗口。 在開發(fā)者PowerShell窗口中運行以下命令,安裝Playwright依賴:
dotnet add package Microsoft.Playwright
然后在頂部菜單欄中,依次選擇“生成”“生成解決方案”,等待項目生成成功。
安裝瀏覽器
需要注意的是,Playwright自己啟動的瀏覽器,并不是我們在本機已安裝的普通瀏覽器程序,而是使用它自帶的瀏覽器二進制文件。這樣就避免了當機器上沒有安裝指定類型的瀏覽器而無法運行應用程序的問題。因此,我們需要在開發(fā)者PowerShell窗口中運行以下命令,安裝Playwright所有受支持的瀏覽器二進制文件:
.\bin\Debug\net6.0\playwright.ps1 install
需要注意的是,瀏覽器二進制文件只需要安裝一次,以后就不需要再安裝了。
編寫代碼
在代碼編輯器中,全部刪除Program.cs原有的默認代碼,替換成下列代碼:
using Microsoft.Playwright;
var playwright = await Playwright.CreateAsync;
await using var browser = await playwright.Chromium.LaunchAsync;
var page = await browser.NewPageAsync;
await page.GotoAsync( "https://www.baidu.com");
var title = await page.InnerTextAsync( "title");
Console.WriteLine(title);
這段代碼實現(xiàn)的功能是:使用Playwright啟動Chromium瀏覽器,打開百度首頁,獲取頁面標題,并輸出到控制臺。
在頂部菜單欄中,依次選擇“調(diào)試”“開始調(diào)試”,如果代碼運行成功,控制臺會輸出百度首頁的頁面標題:百度一下,你就知道。
代碼解讀
在代碼編輯器中,打開Program.cs文件,將鼠標懸停在對應的代碼行上,可以查看相關的詳細說明。
讓我們來逐一解讀每行代碼的作用:
第1行:引入Playwright命名空間。
第3行:創(chuàng)建Playwright實例。
第1行:引入Playwright命名空間。
第3行:創(chuàng)建Playwright實例。
需要注意的是,Playwright的API是異步的。因此,需要使用async/await關鍵字。在C#中,await關鍵字的作用是:等待異步操作完成后繼續(xù)執(zhí)行后續(xù)代碼。
第5行:使用Playwright實例,啟動Chromium瀏覽器。
第7行:使用Chromium瀏覽器實例,創(chuàng)建一個新的頁面。
第9行:使用頁面實例,打開百度首頁。
第11行: 使用頁面實例,獲取頁面標題。
第13行:輸出頁面標題到控制臺。
第5行:使用Playwright實例,啟動Chromium瀏覽器。
第7行:使用Chromium瀏覽器實例,創(chuàng)建一個新的頁面。
第9行:使用頁面實例,打開百度首頁。
第11行: 使用頁面實例,獲取頁面標題。
第13行:輸出頁面標題到控制臺。
在本章中,我們了解了瀏覽器自動化以及Playwright的特點。然后我們學習了如何使用Visual Studio創(chuàng)建一個C#項目,以及如何使用Playwright啟動Chromium瀏覽器,打開百度首頁,并獲取頁面標題。
在下一章中,我們將學習Playwright的基本概念。
添加微信號【MyIO666】,邀你加入技術交流群
掃描二維碼推送至手機訪問。
版權聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。