1.簡介
如果是在公司局域網辦公,或者公司為了安全對網絡管控比較嚴格這種情況下如何搭建環境,我們簡單來看看
(第一種情況及解決辦法:帶要搭建環境的電腦到有網的地方在線安裝即可。
(第二種情況及解決辦法:如果電腦無法帶到有網的地方進行在線安裝,那就用別的電腦下載好安裝包,用U盤將安裝包拷貝到要搭建的電腦安裝即可。)
在本地局域網部署好playwright 環境。
2.本地下載playwright
2.1單個下載離線包
1.第二種情況:要搭建的電腦無法訪問外網,也不能將電腦帶到有網絡的地方進行在線安裝playwright環境。那就只能找個可以訪問外網的電腦進行下載playwright,但是要注意:不要去pypi庫單獨下載這一個包,因為它在安裝過程中還會下載其他依賴包。但是如果你只下載一個playwright-1.32.1-py3-none-win_amd64.whl
,然后使用pip安裝肯定會失敗。那么說一下正確的方法:通過?pip download playwright
?下載安裝包。
下載單個離線包:下載單個離線包: pip download? <package_name> -d 文件夾名或者路徑?
pip download playwright -d ./down
其中?-d?參數是指定下載安裝到本地down目錄。
?
2.正常情況下會下載以下四個包,如下圖所示:
?
?
3.如果你還需要有其他的包需要下載,也可以按上面方式下載,比如pytest,allure-pytest 等包。
2.2批量下載離線包
確認依賴包名與版本:在其他環境中找到要安裝的依賴包名及版本并導出:pip freeze > requirements.txt,requirements.txt中即為要的包信息。就以上邊的playwright包為例。本地已經安裝了一些依賴包了,可以通過pip freeze > requirements.txt
, 導出本地的全部依賴包到requirements.txt文件。
1.進入依賴包的文件夾中,輸入命令:?pip freeze > requirements.txt?。 如下圖所示:
?
2.進入文件夾查看?requirements.txt? 文件內容如下:
greenlet==2.0.1
playwright==1.33.0
pyee==9.0.4
typing-extensions==4.5.0
3.再通過download命令下載全部
pip download -r requirements.txt -d ./down
?
3.離線安裝
3.1單個離線安裝
安裝單個離線包: pip install --no-index --find-links=/資源文件夾/ <package_name>
1.把前面下載的down文件下全部包上傳到你局域網的電腦上。本地離線單個安裝依賴包
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個包,一一安裝即可。
?
3.2批量離線安裝
批量安裝離線包:pip install --no-index --find-links=/資源文件夾/ -r requirements.txt
1.把前面下載的down文件下全部包,以及requirements.txt文件上傳到你局域網的電腦上。本地離線批量安裝依賴包
pip install --no-index --find-links=D:\software\Python\Python37\Lib\site-packages -r requirements.txt
2.只要你 requirements.txt 文件的包和下載的包是一一對應的,上面的安裝就不會報錯了。
?
到這一步playwright 的基本環境就已經安裝完成了。
4.離線安裝瀏覽器
4.1離線安裝chromium,firefox 和 webkit
如果你有安裝chromium,firefox 和 webkit 這3個官方提供的內置瀏覽器的需求,我們先看去哪里下載到這3個瀏覽器, 在終端執行以下命令
playwright install --dry-run
它會根據你當前安裝的playwright (我當前版本是1.33.0)版本,給出對應的瀏覽器最近匹配版本,以及下載地址
?
4.2安裝chromium?
這個和在線安裝一樣,就是下載對應的安裝包,然后安裝到在線安裝瀏覽器的那個路徑下即可。
1.以 chromium 安裝為例,從上邊的docs命令窗口我們可以清楚的看到chromium的Download url:?https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip
2.先下載:?https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip
3.下載后是一個chromium-win64.zip壓縮包。
4.接著看Install location 安裝位置:C:\Users\DELL\AppData\Local\ms-playwright\chromium-1060按照這個路徑依次創建文件夾,把壓縮包放到chromium-1060下解壓即可
?
5.還有個 ffmpeg 包也需要按上面的路徑正確解壓,此包跟錄制視頻有關。
6.這樣你本地就有了對應的chromium,firefox 和 webkit 環境。在ms-playwright 目錄下有以下四個文件
?
5.本地瀏覽器
有些小伙伴或者是童鞋們,覺得太麻煩想使用本地安裝的瀏覽器也是可以的。以Chrome為例。
5.1啟動本地Chrome瀏覽器
1.首先你確保在你自己本機電腦上安裝了chrome瀏覽器,并且安裝是按默認的安裝路徑。
2.那么在啟動的時候,只需指定channel='chrome'
?就可以啟動本地chrome 瀏覽器了。
# coding=utf-8🔥
# 1.導入模塊from playwright.sync_api import sync_playwrightwith sync_playwright() as p:'''默認為無頭瀏覽器方式啟動 '''browser = p.chromium.launch(channel='chrome', headless=False) # 啟動 chrome 瀏覽器page = browser.new_page() # 打開一個標簽頁page.goto("https://www.baidu.com") # 打開百度地址print(page.title()) # 打印當前頁面titlepage.click("input[name=\"wd\"]") # 點擊輸入框page.fill("input[name=\"wd\"]", "webkit") # 在輸入框輸入瀏覽器名字# page.screenshot(path=f'example-{p.webkit.name}.png') #使用瀏覽器名字命名截圖browser.close() # 關閉瀏覽器對象
6.小結
如果在啟動Chrome時遇到以下報錯,說明你瀏覽器沒正確安裝,重新安裝一次chrome瀏覽器,按默認的路徑安裝即可。
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"
?
?