如何在 Playwright 中設定 Proxy(瀏覽器全域與 Per-Context 驗證)

更新於:

Playwright 原生支援 HTTP 代理驗證(server、username、password),適用於 Chromium、Firefox 與 WebKit,完全不需要安裝瀏覽器擴充功能或第三方套件。更優異的是,Playwright 的 Per-Context Proxy(獨立上下文代理)功能可讓單一瀏覽器實例同時執行數十個相互隔離的 BrowserContext 工作階段,各自綁定專屬的 VinaProxy 靜態 IP。

Playwright · HTTP Proxy Format
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }
獨享IPv4(資料中心)
🇺🇸 United States
有貨
低至
₫20,000 / IP / 月
≈ US$0.74 · 以VND結算
批量階梯價格
  • 1 個IP₫40,000
  • 5+ 個IP₫35,000
  • 10+ 個IP₫25,000
  • 20+ 個IP₫25,000
  • 50+ 個IP₫25,000
  • 100+ 個IP₫25,000
  • 200+ 個IP₫25,000
  • 500+ 個IP₫25,000
  • 1000+ 個IP₫22,000
  • 2000+ 個IP₫20,000
購買United States代理
靜態住宅ISP
🇻🇳 Vietnam
有貨
低至
₫25,000 / IP / 月
≈ US$0.93 · 以VND結算
批量階梯價格
  • 1 個IP₫50,000
  • 3+ 個IP₫40,000
  • 5+ 個IP₫40,000
  • 10+ 個IP₫32,000
  • 50+ 個IP₫30,000
  • 100+ 個IP₫30,000
  • 200+ 個IP₫30,000
  • 500+ 個IP₫25,000
購買Vietnam代理

Playwright proxy 物件參數設定

無論是在 chromium.launch({ proxy }) 中進行全域設定,還是在 browser.newContext({ proxy }) 中為個別工作階段設定,皆傳入標準的 proxy 物件:

Playwright 屬性數值格式技術說明
server'http://ip:port'僅填寫主機與連接埠,前面必須加上 http://
username'user'VinaProxy 後台提供的 Proxy 使用者名稱
password'pass'Proxy 密碼(Playwright 會自動處理 HTTP 407 驗證挑戰)
bypass'localhost,127.0.0.1'選填參數,以逗點分隔略過代理的主機清單

高效運作多 IP BrowserContext 的最佳實踐

  • 在 Windows 與 macOS 上,若要在各別 browser.newContext() 中指派不同的 proxy,必須在 chromium.launch() 中加入預留參數 proxy: { server: 'http://per-context' } 啟動 Chromium 路由
  • 在 browser.newContext() 中將 timezoneId 與 locale 設定為與 Proxy 所在國家一致,確保標頭與 JavaScript Intl API 符合當地特徵
  • 使用 page.route() 攔截並中止非必要的圖片與字型資源載入,大幅提升爬蟲擷取速度

操作步驟

  1. 1

    取得 IP、Port、使用者名稱與密碼

    從 VinaProxy 控制面板複製 ip:port:user:pass 連線認證資訊。

  2. 2

    將 proxy 物件帶入 newContext()

    呼叫 const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } })。

  3. 3

    同步時區 timezoneId 與語系 locale

    填入與代理 IP 所在地理位置相對應的 timezoneId 與 locale(如 America/New_York 或 Asia/Ho_Chi_Minh)。

  4. 4

    在新分頁中檢查出口 IP

    開啟新頁面 const page = await context.newPage() 並發送請求至 https://vinaproxy.com/api/my-ip 驗證對外 IP。

常見問題

為什麼 Playwright 出現 'Proxy is only supported when browser is launched with a proxy' 錯誤?

在 Windows 與 macOS 平台上,Chromium 需要在啟動時指定全域 Proxy 參數,才能允許在個別 Context 中進行覆寫。請使用 chromium.launch({ proxy: { server: 'http://per-context' } }) 啟動瀏覽器,接著再將實際 Proxy 傳入各個 browser.newContext({ proxy })。

Playwright 的 Firefox 與 WebKit 也相容 VinaProxy 代理嗎?

是的。在 Node.js 與 Python 中,Chromium、Firefox 以及 WebKit 皆採用完全一致的 proxy: { server, username, password } 語法。

以無頭模式執行 Playwright 會計算流量費用嗎?

不會。所有 VinaProxy 專屬 IPv4 與靜態 ISP 方案均享有每月無限流量。

透過專屬靜態 IP 大幅擴展 Playwright BrowserContext

涵蓋全球 7 大地區、無限流量的高速 HTTP(S) 靜態代理。

購買 Playwright Proxy

相關文章

依平台選擇代理
網路爬蟲專用代理:為 24/7 爬蟲打造的不限流量獨享 IPv4 與 ISP 代理池
為 Python、Playwright、Selenium 與 Scrapy 提供高速 HTTP(S) 獨享 IPv4 與靜態 ISP Proxy,享無限月度流量。
代理設定教學
如何在 Puppeteer 中設定驗證 Proxy(Node.js 指南)
在 Node.js Puppeteer 中設定帶帳密驗證的 HTTP(S) 代理:透過 --proxy-server 啟動參數結合 await page.authenticate() 達成穩定路由。
代理設定教學
如何在Selenium WebDriver中配置帶認證的代理
透過selenium-wire或Chrome onAuthRequired擴充功能在Selenium WebDriver中配置帶帳號密碼認證的HTTP(S)代理。
代理設定教學
如何在Python Requests中使用代理(HTTP/HTTPS與Session連線池)
在Python requests與requests.Session()中配置帶認證的HTTP(S)代理。解決407 ProxyError例外並實現靜態IP池輪換。
依平台選擇代理
SEO 與 SERP 排名追蹤專用代理:精準監測 7 國搜尋引擎排名
追蹤精準在地化關鍵字排名,審查地理重定向,並使用不限流量獨享 IPv4 與靜態 ISP Proxy 執行 Screaming Frog 網站爬取。
依平台選擇代理
Shopee 專用 Proxy:為每個賣家中心門市配置獨立靜態 IP
安全營運多家 Shopee 賣家中心店鋪,杜絕帳號關聯封鎖。提供越南靜態 ISP 與私有獨享 IPv4 代理。
IPV4 · united states
美國獨享IPv4代理:專用於大數據擷取、SEO追蹤與廣告驗證的高速美國IP
美國獨享IPv4代理:專用於資料爬取、排名追蹤、廣告驗證及亞馬遜調研。靜態獨享IP,不限流量,快速啟用。
ISP · vietnam
越南靜態ISP代理:為核心高價值資產量身打造的家庭寬頻固定越南IP
越南靜態ISP代理:原生家庭寬頻IP,專為Shopee主店、TikTok Shop、Facebook廣告帳號及Zalo OA打造的固定越南IP。