国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用

這篇具有很好參考價值的文章主要介紹了干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用

?

無頭瀏覽器

無頭瀏覽器,即 Headless Browser,是一種沒有界面的瀏覽器。它擁有完整的瀏覽器內(nèi)核,包括 JavaScript 解析引擎、渲染引擎等。與普通瀏覽器最大的不同是,無頭瀏覽器執(zhí)行過程中看不到運(yùn)行的界面,但是我們依然可以用 GUI 測試框架的截圖功能截取它執(zhí)行中的頁面。在這里強(qiáng)調(diào)一下,好多文章說無頭瀏覽器不做渲染,其實(shí)這個說法是不準(zhǔn)確的,如果無頭瀏覽器不做渲染,那么怎么進(jìn)行截圖呢?可能有人又要說,如果無頭瀏覽器都做渲染的話,那速度又怎么保障呢?個人觀點(diǎn),應(yīng)該是在需要截屏的時候才進(jìn)行頁面元素的渲染!如果這個觀點(diǎn)不對,歡迎留言討論。這里總結(jié)一下瀏覽器如何渲染網(wǎng)頁,簡單的說瀏覽器的渲染機(jī)制可以分為五步:

第一步:解析html,構(gòu)建DOM樹

第二步:解析CSS,生成CSSOM樹

第三步:合并dom樹和css規(guī)則樹,生成render渲染樹

第四步:根據(jù)render渲染樹進(jìn)行布局

第五步:調(diào)用GPU對渲染樹進(jìn)行繪制,合成圖層,顯示在屏幕上

在這里就可以看出,當(dāng)無頭瀏覽器不做渲染時,速度顯然會提升很多!

無頭瀏覽器的主要應(yīng)用場景

無頭瀏覽器主要應(yīng)用在: GUI 自動化測試、頁面監(jiān)控、網(wǎng)絡(luò)爬蟲以及沒有桌面的linux系統(tǒng)中。在這里我們重點(diǎn)說一下 GUI 自動化測試,在 GUI 測試過程中,使用無頭瀏覽器的好處主要體現(xiàn)在以下幾個方面:

測試執(zhí)行速度更快。 無頭瀏覽器無需加載 CSS 以及渲染頁面,在測試用例的執(zhí)行速度上有很大的優(yōu)勢。

減少對測試執(zhí)行的干擾。 可以減少操作系統(tǒng)以及其他軟件(比如殺毒軟件等)不可預(yù)期的彈出框,對瀏覽器測試的干擾。

一臺機(jī)器上同時運(yùn)行不同廠商的無頭瀏覽器(無頭瀏覽器占用內(nèi)存資源,要比正常瀏覽器?。?,實(shí)現(xiàn)測試用例的并發(fā)執(zhí)行。

無頭瀏覽器缺點(diǎn)

1. 不能完全模擬真實(shí)的用戶行為

2. 不便于調(diào)試(各個瀏覽器的開發(fā)者工具)

主流的無頭瀏覽器概述

Chrome Headless,Chrome從59版本開始支持

Firefox Headless,F(xiàn)irefox從56版本開始支持

PhantomJS,使用JavaScript編寫的無頭瀏覽器,能夠支持Windows, macOS, Linux

Splash,使用Python編寫的無頭瀏覽器,使用WebKit作為引擎

HtmlUnit,使用Java編寫的無頭瀏覽器,使用Rhino engine作為引擎

無頭瀏覽器在selenium中的應(yīng)用

在我們測試同學(xué)的實(shí)際工作中,大概率使用無頭瀏覽器的場景就是通過selenium 進(jìn)行自動化測試了,在這里默認(rèn)同學(xué)們已經(jīng)了解了selenium的安裝和使用方法,所以直接上通過python實(shí)現(xiàn)調(diào)用無頭瀏覽器的代碼

import time
from selenium import webdriver
options = webdriver.ChromeOptions()
options.set_headless()
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.baidu.com/')
time.sleep(3)
print(driver.page_source)
driver.close()

其實(shí),selenium在chrome中實(shí)現(xiàn)headless非常的簡單,只需要下面兩句代碼即可

options.set_headless()

driver = webdriver.Chrome(chrome_options=options)

上面的代碼,實(shí)測可以正常運(yùn)行!原創(chuàng)不易,如果文章幫到了你,勞煩點(diǎn)贊轉(zhuǎn)發(fā)!文章來源地址http://www.zghlxwxcb.cn/news/detail-411291.html

到了這里,關(guān)于干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于QWebEngine實(shí)現(xiàn)無頭瀏覽器

    基于QWebEngine實(shí)現(xiàn)無頭瀏覽器

    無頭瀏覽器( Headless Browser )是一種沒有圖形用戶界面(GUI)的瀏覽器。它通過在內(nèi)存中渲染頁面,然后將結(jié)果發(fā)送回請求它的用戶或程序來實(shí)現(xiàn)對網(wǎng)頁的訪問,而不會在屏幕上顯示網(wǎng)頁。這種方式使得無頭瀏覽器不僅適用于網(wǎng)絡(luò)爬蟲和測試等自動化任務(wù),而且還能夠更安全

    2024年02月09日
    瀏覽(32)
  • 無頭瀏覽器puppeteer自動調(diào)用Dapp交易

    自動化調(diào)用dapp的方法一種是直接調(diào)用合約的方法進(jìn)行交易,另一種是用無頭瀏覽器通過操作dapp頁面進(jìn)行自動化交易。用到了puppeteer和@chainsafe/dappeteer兩個庫; puppeteer:無頭瀏覽器 @chainsafe/dappeteer: 是封裝好的在無頭瀏覽器操作MataMask插件的庫 以下是示例代碼

    2024年02月17日
    瀏覽(28)
  • Linux無頭瀏覽器的自動化測試實(shí)現(xiàn)

    Linux 下如何利用無頭瀏覽器執(zhí)行web自動化的用例?本文以centos 7為例,安裝chrome、利用Python + conda +selenium簡單演示執(zhí)行自動化。 安裝chrome瀏覽器 安裝chromedriver Linux安裝好Python環(huán)境-conda 設(shè)置Chrome為無頭瀏覽模式(只在后臺內(nèi)存中執(zhí)行、無瀏覽器頁面) 準(zhǔn)備測試用例 執(zhí)行用例

    2024年02月15日
    瀏覽(28)
  • Python + Playwright 無頭瀏覽器Chrome找不到元素

    用Python + Playwright調(diào)試時,發(fā)現(xiàn)不用無頭瀏覽器(即 headless=False )代碼能夠運(yùn)行成功,但是一用無頭瀏覽器時(即 headless=True )就會報錯,提示找不到元素。換成Firefox瀏覽器又不會有這個問題,有可能是因?yàn)榫W(wǎng)站有一個前段反爬蟲手段。(同理,如果大家使用 playwright codege

    2024年02月16日
    瀏覽(20)
  • Python Headless Chrome(無頭谷歌瀏覽器)

    Python Headless Chrome(無頭谷歌瀏覽器)

    在我們使用Selenium驅(qū)動ChromeDriver時,可以彈出谷歌瀏覽器,模擬人為操作谷歌瀏覽器,這就是自動化測試。雖然很厲害,但是也有一個很現(xiàn)實(shí)的問題,因?yàn)槭且鎸?shí)加載完整網(wǎng)頁,導(dǎo)致效率低。在自動化測試時,我們其實(shí)只需要知道是測試完成還是未完成,至于能否看到完整

    2024年02月05日
    瀏覽(20)
  • selenium基本使用、無頭瀏覽器(chrome、FireFox)、搜索標(biāo)簽

    這個模塊:既能發(fā)請求,又能解析,還能執(zhí)行js selenium最初是一個自動化測試工具,而爬蟲中使用它主要是為了解決requests無法直接執(zhí)行 JavaScript代碼的問題 selenium 會做web方向的自動化測試 appnium 會做 app方向的自動化測試 selenium 可以操作瀏覽器,模擬人的 行為 下載瀏覽器驅(qū)動

    2024年02月04日
    瀏覽(109)
  • Selenium 無頭瀏覽器被知乎限制訪問的解決方案

    Selenium 無頭瀏覽器被知乎限制訪問的解決方案

    我嘗試使用如下代碼爬取知乎的有關(guān)內(nèi)容,出現(xiàn)知乎安全驗(yàn)證界面: 添加啟動參數(shù) 在網(wǎng)上的許多文章中,反復(fù)提到了如下三行代碼,然而我將他們加入代碼后沒有什么效果: JavaScript特殊全局變量 有一些文章提到,通過 WebDriver 啟動的網(wǎng)頁會存在一些特殊的 JS 變量,這些變

    2024年02月14日
    瀏覽(90)
  • 沒想到還有這種騷操作~如何使用Golang實(shí)現(xiàn)無頭瀏覽器截圖?

    在Web開發(fā)中,有時需要對網(wǎng)頁進(jìn)行截圖,以便進(jìn)行頁面預(yù)覽、測試等操作。 而使用無頭瀏覽器來實(shí)現(xiàn)截圖功能,可以避免手動操作的繁瑣和不穩(wěn)定性。 這篇文章將介紹: 使用Golang進(jìn)行無頭瀏覽器的截圖,輕松實(shí)現(xiàn)頁面預(yù)覽、測試和模擬用戶操作。 這篇文章發(fā)完,有朋友在朋

    2024年02月05日
    瀏覽(25)
  • 『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運(yùn)行(保姆級圖文)

    『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運(yùn)行(保姆級圖文)

    歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中 歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中 一般性的selenium會打開瀏覽器頁面,展示圖形化頁面給我們看,我們都應(yīng)該知道命令行式的程序肯定比這種渲染圖形化界面的程序快速高效。為了一定程度上緩解selenium慢的問題,我們可以采

    2024年02月07日
    瀏覽(371)
  • 針對于selenium的一些常規(guī)配置(防檢測,無頭,保留自己瀏覽器的登錄信息等)

    針對于selenium的一些常規(guī)配置(防檢測,無頭,保留自己瀏覽器的登錄信息等)

    在使用selenium的時候有時候會受到網(wǎng)站的檢測導(dǎo)致我們的程序被迫中止,因此我們需要給selenium添加一些瀏覽器特征來防止被網(wǎng)站檢測到**(1-4為防檢測配置)**. 在給selenium添加參數(shù)的時候,我們可以使用add_argument selenium添加user-agent參數(shù) 去除 “Chrome正受到自動化測試軟件的控制”

    2024年02月12日
    瀏覽(107)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包