《最新出爐》系列初窺篇-Python+Playwright自動(dòng)化測試-3-離線搭建環(huán)境

1.簡介

有些小伙伴或者童鞋們私信留言說自己是在公司局域網(wǎng)辦公,或者公司為了安全對網(wǎng)絡(luò)管控比較嚴(yán)格(尤其是一些大的國企、央企),總之就是一句話無法連到外網(wǎng)去在線下載,宏哥剛看到留言時(shí)覺得這問題還留言問啊,你找個(gè)有網(wǎng)的電腦下載好安裝包然后安裝就可以用了。(第一種情況及解決辦法:帶要搭建環(huán)境的電腦到有網(wǎng)的地方在線安裝即可。第二種情況及解決辦法:如果電腦無法帶到有網(wǎng)的地方進(jìn)行在線安裝,那就用別的電腦下載好安裝包,用U盤將安裝包拷貝到要搭建的電腦安裝即可。),相信絕大多數(shù)遇到的都是第二種情況。第一種情況就不問宏哥了。后來宏哥就按第二種情況的思路實(shí)踐了一下,為了避免小伙伴或者童鞋們走宏哥的老路踩坑,于是就覺得水一篇教大家在本地局域網(wǎng)部署好playwright 環(huán)境的文章。

2.本地下載playwright

2.1單個(gè)下載離線包

1.第二種情況:要搭建的電腦無法訪問外網(wǎng),也不能將電腦帶到有網(wǎng)絡(luò)的地方進(jìn)行在線安裝playwright環(huán)境。那就只能找個(gè)可以訪問外網(wǎng)的電腦進(jìn)行下載playwright,但是要注意:不要去pypi庫單獨(dú)下載這一個(gè)包,因?yàn)樗诎惭b過程中還會下載其他依賴包。但是如果你只下載一個(gè)playwright-1.32.1-py3-none-win_amd64.whl,然后使用pip安裝肯定會失敗。那么宏哥說一下正確的方法:通過 pip download playwright 下載安裝包。

下載單個(gè)離線包:下載單個(gè)離線包: pip download <package_name> -d 文件夾名或者路徑

pip download playwright -d ./down

其中 -d 參數(shù)是指定下載安裝到本地down目錄。

正常情況下會下載以下四個(gè)包,如下圖所示:

3.如果你還需要有其他的包需要下載,也可以按上面方式下載,比如pytest,allure-pytest 等包。

2.2批量下載離線包

確認(rèn)依賴包名與版本:在其他環(huán)境中找到要安裝的依賴包名及版本并導(dǎo)出:pip freeze > requirements.txt,requirements.txt中即為要的包信息。就以上邊的playwright包為例。本地已經(jīng)安裝了一些依賴包了,可以通過pip freeze > requirements.txt, 導(dǎo)出本地的全部依賴包到requirements.txt文件。

1.進(jìn)入依賴包的文件夾中,輸入命令: pip freeze > requirements.txt 。 如下圖所示:

2.進(jìn)入文件夾查看 requirements.txt 文件內(nèi)容如下:

greenlet==2.0.1
playwright==1.33.0
pyee==9.0.4
typing-extensions==4.5.0

或許有的小伙伴或者童鞋們導(dǎo)出和宏哥不一樣,比宏哥多好多,沒有關(guān)系的,因?yàn)檫@個(gè)命令導(dǎo)出的本地的全部依賴包,也許你之前安裝過其他依賴包,因此會和宏哥不一樣,而且比宏哥的多。

3.再通過download命令下載全部

pip download -r requirements.txt -d ./down

3.離線安裝

3.1單個(gè)離線安裝

安裝單個(gè)離線包: pip install --no-index --find-links=/資源文件夾/ <package_name>

1.把前面下載的down文件下全部包上傳到你局域網(wǎng)的電腦上。本地離線單個(gè)安裝依賴包

pip install --no-index  --find-links=D:\software\Python\Python37\Lib\site-packages -r greenlet-2.0.1-cp37-cp37m-win_amd64.whl

2.按照上邊的命令將4個(gè)包,一一安裝即可。

3.2批量離線安裝

批量安裝離線包:pip install --no-index --find-links=/資源文件夾/ -r requirements.txt

1.把前面下載的down文件下全部包,以及requirements.txt文件上傳到你局域網(wǎng)的電腦上。本地離線批量安裝依賴包

pip install --no-index  --find-links=D:\software\Python\Python37\Lib\site-packages -r requirements.txt

2.只要你 requirements.txt 文件的包和下載的包是一一對應(yīng)的,上面的安裝就不會報(bào)錯(cuò)了。

到這一步playwright 的基本環(huán)境就已經(jīng)安裝完成了。

4.離線安裝瀏覽器

4.1離線安裝chromium,firefox 和 webkit

如果你有安裝chromium,firefox 和 webkit 這3個(gè)官方提供的內(nèi)置瀏覽器的需求,我們先看去哪里下載到這3個(gè)瀏覽器, 在終端執(zhí)行以下命令

playwright install --dry-run

它會根據(jù)你當(dāng)前安裝的playwright (我當(dāng)前版本是1.33.0)版本,給出對應(yīng)的瀏覽器最近匹配版本,以及下載地址

4.2安裝chromium

這個(gè)和在線安裝一樣,就是下載對應(yīng)的安裝包,然后安裝到在線安裝瀏覽器的那個(gè)路徑下即可。

1.以 chromium 安裝為例,從上邊的docs命令窗口我們可以清楚的看到chromium的Download url: [https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip](https://www.cnblogs.com/du-hong/p/ https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip)

2.先下載: [https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip](https://www.cnblogs.com/du-hong/p/ https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip)
3.下載后是一個(gè)chromium-win64.zip壓縮包。
4.接著看Install location 安裝位置:C:\Users\DELL\AppData\Local\ms-playwright\chromium-1060按照這個(gè)路徑依次創(chuàng)建文件夾,把壓縮包放到chromium-1060下解壓即可

5.還有個(gè) ffmpeg 包也需要按上面的路徑正確解壓,此包跟錄制視頻有關(guān)。

6.這樣你本地就有了對應(yīng)的chromium,firefox 和 webkit 環(huán)境。在ms-playwright 目錄下有以下四個(gè)文件

5.本地瀏覽器

有些小伙伴或者是童鞋們,覺得太麻煩想使用本地安裝的瀏覽器也是可以的。以Chrome為例。

5.1啟動(dòng)本地Chrome瀏覽器

1.首先你確保在你自己本機(jī)電腦上安裝了chrome瀏覽器,并且安裝是按默認(rèn)的安裝路徑。

2.那么在啟動(dòng)的時(shí)候,只需指定channel='chrome' 就可以啟動(dòng)本地chrome 瀏覽器了。

# coding=utf-8??

# 1.先設(shè)置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.注釋:包括記錄創(chuàng)建時(shí)間,創(chuàng)建人,項(xiàng)目名稱。
'''
Created on 2023-05-18
@author: 北京-宏哥   QQ交流群:705269076
Project: 《最新出爐》系列初窺篇-Python+Playwright自動(dòng)化測試-3-離線搭建playwright環(huán)境
'''

# 3.導(dǎo)入模塊

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    '''默認(rèn)為無頭瀏覽器方式啟動(dòng)  '''
    browser = p.chromium.launch(channel='chrome', headless=False)         # 啟動(dòng) chrome 瀏覽器
    page = browser.new_page()              # 打開一個(gè)標(biāo)簽頁
    page.goto("https://www.baidu.com")     # 打開百度地址
    print(page.title())                    # 打印當(dāng)前頁面title
    page.click("input[name=\"wd\"]")       # 點(diǎn)擊輸入框
    page.fill("input[name=\"wd\"]", "webkit")  # 在輸入框輸入瀏覽器名字
    # page.screenshot(path=f'example-{p.webkit.name}.png')  #使用瀏覽器名字命名截圖
    browser.close()                        # 關(guān)閉瀏覽器對象

6.小結(jié)

如果在啟動(dòng)Chrome時(shí)遇到以下報(bào)錯(cuò),說明你瀏覽器沒正確安裝,重新安裝一次chrome瀏覽器,按默認(rèn)的路徑安裝即可。

playwright._impl._api_types.Error: Chromium distribution 'chrome' is not found at C:\Users\dell\AppData\Local\Google\Chrome\Application\chrome.exe Run "playwright install chrome"

好了,今天時(shí)間也不早了,宏哥就講解和分享到這里,感謝您耐心的閱讀,希望對您有所幫助。

本文由mdnice多平臺發(fā)布

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

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

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