主頁 >  其他 > Playwright 和 Selenium 的區別是什么?

Playwright 和 Selenium 的區別是什么?

2023-06-11 08:16:22 其他

前言

最近有不少同學問到 Playwright 和 Selenium 的區別是什么?
有同學可能之前學過 selenium 了,再學一個 playwright 感覺有些多余,可能之前有專案已經是 selenium 寫的了,換成 playwright 需要時間成本,并且可能有未知風險,
也有同學之前可能沒學過 selenium ,現在正準備入手一個web 自動化框架,但是對于選擇selenium 和 playwright 猶豫不決,因為面試問selenium比較多,可能學了作業中也用不上,僅僅只是應付面試,
不管出于哪種原因,本篇詳細分析 2 者的差異

Playwright 和 Selenium 的區別

編號 功能 Playwright Selenium 哪個更優秀
1 學習資料 相對少 Selenium
2 用戶群體 出現的比較晚,用戶量相對少 出現的早,用戶量多 Selenium
3 支持語言 TypeScript、JavaScript、Python、.NET、Java C#,Java,Perl,PHP,Python 和Ruby Selenium
4 支持瀏覽器 Chromium(包含chrome, msedge)、WebKit 和 Firefox IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera,Edge等 Selenium
5 跨平臺 Windows,Linux(只支持Ubuntu部分系統) ,Mac Windows,Linux,Mac 都支持 Selenium
6 瀏覽器安裝 命令列安裝 自己安裝 Playwright
7 瀏覽器驅動 不需要驅動 下載對應版本驅動 Playwright
8 啟動速度 Playwright
9 context 環境隔離 Playwright
10 headless 無頭模式 默認headless, 也可以設定GUI 默認GUI模式,也可以設定headless Playwright
11 無痕模式 默認無痕模式,對應測驗很有幫助,對于爬蟲用戶可能訪問頁面不通過 默認非無痕默認,爬蟲用戶特別喜歡 Selenium
12 頁面等待 wait_for_load_state可以精準等待commit,domcontentloaded,load,networkidle四種狀態 implicitly_wait等待頁面加載完成 Playwright
13 元素定位 提供多個內置定位器,定位方式更貼近業務,定位方式更多 八大定位 Playwright
14 元素等待 定位元素自帶等待機制 需要自己封裝等待方法 Playwright
15 點擊元素等操作 會判斷元素狀態,出現位置,是否可點擊智能判斷 需要自己封裝webdriverwait.until方法,難度較大 Playwright
16 定位報錯 會人性化告訴你定位到幾個元素,并推薦定位方式 報錯需要自己去猜謎,自己排除各種可能性 Playwright
17 元素不在當前螢屏 會判斷元素位置,自動滾動元素出現位置 需要自己去判斷滾動 Playwright
18 iframe 通過物件操作,不用切換 需要來回切換 Playwright
19 alert 默認監聽自動關閉,可以異步監聽 需要自己判斷,無異步監聽 Playwright
20 檔案上傳 監聽檔案上傳時間,處理優雅 無法解決非input 上傳 Playwright
21 檔案下載 可以監聽下載 只能設定瀏覽器默認位置 Playwright
22 多視窗標簽 可以監聽視窗事件,操作方便 需要來回切換 Playwright
23 事件監聽 可以監聽各種事件 無法監聽 Playwright
24 捕獲ajax 請求 可以捕獲ajax 請求和 回傳 無法捕獲 Playwright
25 mock 功能 可以模擬想要的任何介面資料 無mock 功能 Playwright
26 斷言 提供expect 豐富斷言 需要自己封裝webdriverwait.until方法,難度較大 Playwright
27 錄制視頻 錄制用例視頻 Playwright
28 trace 追蹤 Playwright
29 斷點除錯 Playwright
30 錄制 可以生成pytest用例 錄制功能比較簡單 Playwright
31 滑鼠鍵盤操作 呼叫簡單方便 匯入模塊,操作復雜 Playwright
32 base_url 可以添加全域base_url 無此功能 Playwright
33 介面測驗 提供介面測驗 無此功能 Playwright
34 grid 分布式 selenium-grid 分布式 Selenium
35 協議 websockt 協議,可以實時獲取頁面狀態 http 協議,只能獲取當時的狀態,需自己輪詢判斷 Playwright
36 執行JavaScript 可以在page,iframe,元素物件執行JavaScript 只能在driver物件執行JavaScrip Playwright
37 面試 要求playwright 比較少 問selenium 比較多 Selenium
38 學習難易程度 容易,無需封裝,直接用 難度較大,需要封裝 Playwright

 

總體打分Selenium 8分, Playwright 30 分,如果你是新手,毫不猶豫應該直接學playwright

作者|上海悠悠

本文來自博客園,作者:古道輕風,轉載請注明原文鏈接:https://www.cnblogs.com/88223100/p/What-is-the-difference-between-Playwright-and-Selenium.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/554890.html

標籤:其他

上一篇:Playwright 和 Selenium 的區別是什么?

下一篇:返回列表

標籤雲
其他(160779) Python(38219) JavaScript(25492) Java(18216) C(15237) 區塊鏈(8270) C#(7972) AI(7469) 爪哇(7425) MySQL(7246) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4589) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2435) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1984) 功能(1967) HtmlCss(1961) Web開發(1951) C++(1933) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • Playwright 和 Selenium 的區別是什么?

    最近有不少同學問到 Playwright 和 Selenium 的區別是什么?
    有同學可能之前學過 selenium 了,再學一個 playwright 感覺有些多余,可能之前有專案已經是 selenium 寫的了,換成 playwright 需要時間成本,并且可能有未知風險。
    也有同學之前可能沒學... ......

    uj5u.com 2023-06-11 08:16:22 more
  • Playwright 和 Selenium 的區別是什么?

    最近有不少同學問到 Playwright 和 Selenium 的區別是什么?
    有同學可能之前學過 selenium 了,再學一個 playwright 感覺有些多余,可能之前有專案已經是 selenium 寫的了,換成 playwright 需要時間成本,并且可能有未知風險。
    也有同學之前可能沒學... ......

    uj5u.com 2023-06-11 07:57:10 more
  • 讀改變未來的九大演算法筆記09_指尖的精靈

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230610215843307-1266684231.png) # 1. 人類很有可能“在未來像過去所做過的一樣行事” # 2. 計算機科學領域并不僅僅是編程 ## 2.1.  ......

    uj5u.com 2023-06-11 07:57:00 more
  • youtobe深度學習推薦系統-學習筆記

    # 簡介 **前言** 本文是**Deep Neural Networks for YouTube Recommendations** 論文的學習筆記。淘寶的召回模型曾經使用過這篇論文里面的方案,后續淘寶召回模型升級到了MGDSPR:多粒度深度語意商品檢索。 **轉向深度學習** 和谷歌的其他產品一 ......

    uj5u.com 2023-06-11 07:56:44 more
  • AtCoder Beginner Contest 305

    ## [A - Water Station (abc305 a)](https://atcoder.jp/contests/abc305/tasks/abc305_a) ### 題目大意 給定一個數字$x$,輸出一個數字,它是最接近$x$的 $5$的倍數。 ### 解題思路 令$y = x \% 5 ......

    uj5u.com 2023-06-11 07:56:33 more
  • 傳遞攻擊-橫向移動

    # 傳遞攻擊-橫向移動 [TOC] ## 一、哈希傳遞攻擊(PTH) 哈希傳遞攻擊(Pass The Hash)是基于 NTLM 認證缺陷的一種攻擊方式,攻擊者可以利用用戶的密碼哈希值來進行 NTLM 認證。 ## 二、哈希傳遞條件 哈希傳遞攻擊的前提:有管理員的 NTLM Hash ,并且目標機器 ......

    uj5u.com 2023-06-11 07:56:28 more
  • 程式員需要達到什么水平才能不被性別歧視?順利拿到 20k 無壓力?

    雙非本科,自認為技術水平不差,8月從美圖實習離職回學校,各種倒霉的事不斷,到現在11月,為了找個好的環境復習,9月又在學校附近租了房,基本是沒有面試通知就學不進去,前面由于過于自信,也沒拿個保底的offer,也只去湖大跑過一次58到家的宣講會,各種面試基本二面掛,最慘的一次的就是美團電話一面后,面試... ......

    uj5u.com 2023-06-11 07:55:18 more
  • 【技識訓累】資料結構中的二叉樹【一】

    博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ......

    uj5u.com 2023-06-11 07:55:09 more
  • 配置證書與https

    申請證書 筆者是騰訊云申請的證書 根據需求選擇下載證書 筆者使用的Nginx的方法 下載后解壓即可看到內容 配置 Nignx 參考文獻 SSL 證書 Nginx 服務器 SSL 證書安裝部署-證書安裝-檔案中心-騰訊云 (tencent.com) 我的nignx配置如下 server { #SSL ......

    uj5u.com 2023-06-11 07:55:03 more
  • youtobe深度學習推薦系統-學習筆記

    # 簡介 **前言** 本文是**Deep Neural Networks for YouTube Recommendations** 論文的學習筆記。淘寶的召回模型曾經使用過這篇論文里面的方案,后續淘寶召回模型升級到了MGDSPR:多粒度深度語意商品檢索。 **轉向深度學習** 和谷歌的其他產品一 ......

    uj5u.com 2023-06-11 07:54:29 more