一鍵啟動多個 Chrome 實例并自動清理的 Bash 腳本分享!

目錄

一、📦 腳本功能概覽

二、📜 腳本代碼一覽

三、🔍 腳本功能說明

(一)? 支持批量啟動多個 Chrome 實例

(二)? 每個實例使用獨立用戶數據目錄

(三)? 啟動后自動等待用戶關閉

(四)?自動清理所有臨時數據

四、🛠? 最推薦用法:直接添加 alias,隨時隨地一鍵運行!

(一)? 第一步:保存腳本并賦予執行權限

(二)? 第二步:添加 alias 到 shell 配置

(三)使用案列說明

1. 打開 1 個實例,默認頁面

2. 打開 3 個實例,訪問指定網址

3. 打開 5 個實例并打開本地服務

💡 小貼士:alias 更建議這樣取名

五、🎯 小結


干貨分享,感謝您的閱讀!!!

有時候,我們可能會遇到這樣一個需求:快速啟動多個 Chrome 瀏覽器實例,每個打開多個標簽頁,測試完自動關閉并清理所有痕跡。比如做 Web 自動化測試、刷流量(你懂的😏)、展示多個頁面效果對比等等。

今天就給大家分享一個 Bash 腳本,幫你一鍵完成以上操作!關鍵是:不臟系統、不留痕、自動清理!

一、📦 腳本功能概覽

這個腳本主要完成以下幾件事:

  1. 接收一個數字參數,表示要打開幾個 Chrome 實例。

  2. 每個實例打開指定網頁,如果沒指定,默認打開 example.com。

  3. 每個實例使用一個臨時用戶目錄(profile),避免配置沖突。

  4. 等所有 Chrome 實例關閉后,自動清理這些臨時目錄。

二、📜 腳本代碼一覽

下面是完整腳本,直接復制保存為 open_chromes.sh,加上執行權限即可使用。

#!/bin/bash# 檢查參數
if [ -z "$1" ]; thenecho "Usage: $0 <count> [url1] [url2] ..."echo "       啟動 <count> 個 Chrome 實例,每個實例打開指定網頁"exit 1
fiCOUNT=$1
shift
URLS=("$@")# 默認 URL
if [ ${#URLS[@]} -eq 0 ]; thenURLS=("https://zyfcodes.blog.csdn.net/?type=blog")
fiecho "---------------------------------------------"
echo "🚀 啟動 $COUNT 個 Chrome 實例,每個打開以下標簽頁:"
for url in "${URLS[@]}"; doecho "   - $url"
done
echo "---------------------------------------------"# 存儲每個實例的 PID 和 PROFILE 目錄
PIDS=()
PROFILE_DIRS=()for ((i=1; i<=COUNT; i++)); doPROFILE_DIR="/tmp/chrome-profile-$RANDOM"PROFILE_DIRS+=("$PROFILE_DIR")echo "[$i/$COUNT] 啟動實例,Profile: $PROFILE_DIR"/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \--incognito \--no-first-run \--no-default-browser-check \--user-data-dir="$PROFILE_DIR" \"${URLS[@]}" &PIDS+=($!)sleep 0.2
doneecho "? 等待所有 Chrome 實例關閉..."
for pid in "${PIDS[@]}"; dowait "$pid"
doneecho "🧹 所有實例關閉,開始清理臨時 profile 目錄..."
for dir in "${PROFILE_DIRS[@]}"; dorm -rf "$dir"echo "   ? 刪除 $dir"
doneecho "🎉 所有臨時目錄已清理完成!"

三、🔍 腳本功能說明

(一)? 支持批量啟動多個 Chrome 實例

腳本接受一個數字參數 count,表示要啟動幾個獨立的 Chrome 實例。例如:

./open_chromes.sh 3 https://google.com https://github.com

將啟動 3 個實例,每個打開 Google 和 GitHub 兩個標簽頁。

(二)? 每個實例使用獨立用戶數據目錄

通過 --user-data-dir=/tmp/chrome-profile-XXXX,讓每個實例使用自己的臨時配置文件夾,互不影響,也不會污染你平時使用的 Chrome。

而且還加了 --incognito--no-first-run--no-default-browser-check 等參數,讓實例干凈啟動、免打擾。

(三)? 啟動后自動等待用戶關閉

腳本會記錄每個實例的進程 ID(PID),并在后臺等待用戶關閉 Chrome。你打開網頁、測試完畢、手動關掉窗口后,腳本才會繼續執行。

(四)?自動清理所有臨時數據

所有用到的 /tmp/chrome-profile-xxx 文件夾會在最后統一清理,真正做到“來無影、去無蹤”。你系統不會留下任何多余緩存!

四、🛠? 最推薦用法:直接添加 alias,隨時隨地一鍵運行!

雖然你可以將腳本放入 ~/bin 目錄并配置 $PATH,但我更推薦一種更快、更符合日常使用習慣的方式:直接設置 alias 別名

你只需兩步,就能讓這個腳本變成終端里的“魔法命令”:

(一)? 第一步:保存腳本并賦予執行權限

比如你把腳本保存為 ~/scripts/open_chromes.sh,記得加上執行權限:

mkdir -p ~/scripts
mv open_chromes.sh ~/scripts/
chmod +x ~/scripts/open_chromes.sh

(二)? 第二步:添加 alias 到 shell 配置

打開你的 shell 配置文件(Zsh 用戶就是 .zshrc,Bash 用戶是 .bash_profile):

nano ~/.zshrc # 或 nano ~/.bash_profile

添加如下 alias(你可以自由修改名字,這里用 zyfoc 表示 open chrome):

alias zyfoc="~/scripts/open_chromes.sh"

保存并讓配置立即生效:

source ~/.zshrc # 或 source ~/.bash_profile

(三)使用案列說明

🚀 從此,你只需要敲一行命令就能執行腳本:

1. 打開 1 個實例,默認頁面
zyfoc 1
2. 打開 3 個實例,訪問指定網址
zyfoc 3 https://google.com https://github.com
3. 打開 5 個實例并打開本地服務
zyfoc 5 http://localhost:3000/login http://localhost:3000/dashboard

💡 小貼士:alias 更建議這樣取名

別名含義推薦指數
zyfocopen chrome 的縮寫?????(簡潔)
chromexchrome + 批量執行風格????
testweb用于測試網頁打開???
browsex多窗口瀏覽擴展工具???

五、🎯 小結

這個 Bash 腳本實現了:

  • ?? 快速啟動任意數量 Chrome 實例

  • ?? 每個實例獨立運行,不干擾主瀏覽器

  • ?? 支持多個標簽頁

  • ?? 自動等待 + 自動清理,使用無痕!

簡單幾行 Bash,就能解決很多重復操作的煩惱。如果你有類似需求,趕緊拿去試試吧!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81434.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81434.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81434.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025.05.26【Wordcloud】詞云圖繪制技巧

Most basic See what input file is needed to build this basic wordcloud. Text analysis A text analysis by Benjamin Tovarcis for document classification. 文章目錄 Most basicText analysis 探索詞云圖的奧秘什么是詞云圖&#xff1f;為什么使用詞云圖&#xff1f;如…

RuoYi前后端分離框架集成UEditorPlus富文本編輯器

一、背景 采用若依框架搭建了一個小型的電子書項目,項目前端、后端、移動端就一人,電子書的章節內容是以富文本內容進行呈現的,產品設計人員直接給了一個第三方收費的富文本編輯器截圖放到開發文檔中,提了一沓需求點,概況下來就是要做成下圖中的樣子。作為一個后端開發人…

ETL 工具與數據中臺的關系與區別

ETL 工具和數據中臺作為數據處理領域的關鍵概念&#xff0c;雖然存在一定的關聯&#xff0c;但二者有著明顯的區別。本文將深入剖析 ETL 工具與數據中臺之不同。 一、ETL 工具概述 ETL 是數據倉庫技術中的核心技術之一&#xff0c;其全稱為 Extract&#xff08;抽取&#xff…

Redis(四) - 使用Python操作Redis詳解

文章目錄 前言一、下載Python插件二、創建項目三、安裝 redis 庫四、新建python軟件包五、鍵操作六、字符串操作七、列表操作八、集合操作九、哈希表操作十、有序集合操作十一、完整代碼1. 完整代碼2. 項目下載 前言 本文是基于 Python 操作 Redis 數據庫的實戰指南&#xff0…

xdvipdfmx:fatal: File ended prematurely. No output PDF file written.

今天忽然遇到&#xff1a;使用xelatex或lualatex編譯&#xff0c;一直卡住&#xff0c;不報錯&#xff0c;也無法生成PDF&#xff0c;主動停止編譯后就報錯 xdvipdfmx:fatal: File ended prematurely. No output PDF file written. 然后&#xff0c;之前能正常編譯的一些文件…

解鎖未來AI:使用DACA模式和Agentic技術提高開發效率

學習Agentic AI:Dapr Agentic Cloud Ascent (DACA)設計模式的應用與演進 背景介紹 近年來,Agentic AI(代理型人工智能)的概念在學術界和產業界掀起了一陣熱潮。Agentic AI指的是能夠自主感知、決策和行動的智能體系統,它們不僅改變了我們與技術互動的方式,也為行業發展…

Jenkins+Docker+Harbor快速部署Spring Boot項目詳解

JenkinsDockerHarbor快速部署Spring Boot項目詳解 Jenkins、Docker和Harbor是現代DevOps流程中的核心工具&#xff0c;結合使用可以實現自動化構建、測試和部署。下面我將詳細介紹如何搭建這個集成環境。 一、各工具的核心作用 Jenkins 自動化CI/CD工具&#xff0c;負責拉取代…

第12次04 :首頁展示用戶名

登錄后&#xff0c;跳轉到首頁&#xff0c;首頁會展示用戶名&#xff1b;未登錄時&#xff0c;首頁將展示登錄與注冊的選項。 第一步&#xff1a;index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml…

Flask 路由跳轉機制:url_for生成動態URL、redirect頁面重定向

在 Flask 開發中&#xff0c;url_for() 與 redirect() 是實現路由跳轉邏輯的核心工具。 url_for()負責安全、靈活地生成 URL。 redirect()負責發起重定向響應。 1、url_for()&#xff1a;生成URL url_for(endpoint, **values) 是 Flask 提供的 URL 構造工具&#xff0c;可根據…

華為OD機試真題——構成正方形的數量(2025B卷:100分)Java/python/JavaScript/C++/C/GO六種最佳實現

2025 B卷 100分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 本文收錄于專欄:《2025華為OD真題目錄+全流程解析/備考攻略/經驗分享》 華為OD機試真題《構成…

FFMPEG-AAC編碼

一、流程圖 二、代碼解釋 avcodec_find_encoder: 根據指定的AVCodecID查找注冊的編碼器。avcodec_alloc_context3: 為AVCodecContext分配內存。()avcodec_open2: 打開編碼器。avcodec_send_frame: 將AVFrame?壓縮數據給編碼器。avcodec_receive_packet: 獲取到編碼后的…

RPC 協議詳解、案例分析與應用場景

一、RPC 協議原理詳解 RPC 協議的核心目標是讓開發者像調用本地函數一樣調用遠程服務&#xff0c;其實現過程涉及多個關鍵組件與流程。 &#xff08;一&#xff09;核心組件 客戶端&#xff08;Client&#xff09;&#xff1a;發起遠程過程調用的一方&#xff0c;它并不關心調…

Docker基礎 -- Ubuntu 22.04 AArch64 交叉編譯 Docker 鏡像構建指南

Ubuntu 22.04 AArch64 交叉編譯 Docker 鏡像構建指南 作者&#xff1a; &#xff08;填寫作者&#xff09; 發布日期&#xff1a; 2025?05?26 1 背景與目標 在企業內網&#xff08;需要代理&#xff09;環境下&#xff0c;我們需要一套可靠、可復用的 Ubuntu 22.04 交叉編…

【ISP算法精粹】ISP算法管線的預處理算法有哪些?

1. ISP預處理算法有哪些&#xff1f; 在圖像信號處理&#xff08;ISP&#xff09;流程中&#xff0c;預處理階段主要針對圖像傳感器&#xff08;如CMOS/CCD&#xff09;輸出的原始圖像數據&#xff08;通常為拜耳格式的RAW圖像&#xff09;進行初步處理&#xff0c;以校正硬件…

華為OD機試真題——字符串加密 (2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳實現

2025 B卷 100分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

視頻存儲開源方案

項目成熟度 GitHub - ceph/ceph: Ceph is a distributed object, block, and file storage platform GitHub - minio/minio: MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. GitHub - seaweedfs/seaweedfs: SeaweedFS i…

典型城市工況數據(Drive Cycle)用于車輛仿真

典型城市工況數據&#xff08;Drive Cycle&#xff09;用于車輛仿真 在車輛仿真過程中&#xff0c;使用典型的城市工況數據&#xff08;Drive Cycle&#xff09;是評估車輛性能、能耗和排放的關鍵步驟。以下是一些常用的典型城市工況數據及其來源&#xff0c;這些數據可以幫助…

深度解析新能源汽車結構與工作原理

一、核心系統架構 新能源汽車主要由三大核心系統構成&#xff1a; 電力驅動系統&#xff1a;包含永磁同步電機、電機控制器&#xff08;MCU&#xff09;及減速器&#xff0c;采用三合一集成設計實現輕量化。永磁同步電機通過電磁感應原理將電能轉化為機械能&#xff0c;其效率可…

跳板問題(貪心算法+細節思考)

首先直接看題&#xff1a; 這題直接貪心其實問題不大&#xff1a; 下面先展示我的一個錯誤代碼&#xff1a; # include<iostream> # include<vector> # include<algorithm>using namespace std;int main() {int N,M;cin>>N>>M;vector<vecto…

pgsql 一些用法

要查詢PostgreSQL數據庫中剩余的磁盤空間&#xff0c;可以使用以下方法&#xff1a; 使用SQL查詢函數&#xff1a; 可以通過pg_size_pretty函數來查看數據庫的總磁盤使用情況&#xff0c;例如&#xff1a; SELECT pg_size_pretty(pg_database_size(‘your_database_name’)); …