ajhsu / blog

The external storage of my brain.
3 stars 0 forks source link

Running headless Chrome on Ubuntu 14.04 #25

Open ajhsu opened 7 years ago

ajhsu commented 7 years ago

Running headless Chrome on Ubuntu 14.04

1. 在 Ubuntu 上安裝 Google Chrome

可參考此篇文章

Here is a solution when you stuck on downloading from security.ubuntu.com while doing apt-get update. Or you stuck on downloading from dl.google.com while doing wget https://dl.google.com...

2. 以 Headless 模式啟動 Google Chrome

google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 https://www.kkbox.com

指令中包含部分參數:

3. 在 TestCafe 上使用 Headless Chrome 執行測試

執行 TestCafe 時,可以指定由 Google Chrome 來啟動,並帶入 headless 相關參數即可

./node_modules/.bin/testcafe 'path:`/usr/bin/google-chrome-stable` --headless --disable-gpu --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0' index.js --skip-js-errors

4. 遠端使用偵錯工具

如果想要在遠端機器上使用遠端偵錯,可以透過 Port Forwarding 把 Port 9222 導回本地的 Port 9222

ssh -L 9222:localhost:9222 ajhsu@REMOTE_ADDRESS

接著就可以在本機的 Port 9222 (http://localhost:9222/) 連到偵錯工具頁面

5. 其他

清除相關 headless chrome 任務

kill $(ps -e | grep chrome | grep headless | awk '{print $1}')

透過 chrome-remote-interface 操作 Headless Chrome

Headless Chrome 本身提供了一些 DevTools API 來操作 Chrome,而 cyrus-and/chrome-remote-interface 則包裝了這些 API 以供使用。

API 部分可參考此份文件

6. 參考