Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

รู้ยังว่า Google Chrome ทำงานแบบ Headless mode ได้เองแล้วนะ

$
0
0

เมื่อวันที่ 13 เมษายนที่ผ่านมา หรือ วันสงกรานต์ของไทยนั่นเอง ทางทีมพัฒนา Google Chrome ได้ปล่อย Chrome 59 (อยู่ใน Chrome Canary Channel เท่านั้น) ซึ่งมี feature ที่น่าสนใจคือ Headless chrome Headless mode นั้นเป็นอีกหนึ่งช่องทางในการใช้งาน browser โดยที่ไม่ต้องแสดงออกมาทางหน้าจอ ซึ่งปกติเราจะใช้งาน Headless mode ผ่านโปรแกรมพวก Virtual Display Managerเช่น Xvfb, VNC ไม่เช่นนั้นก็ต้องใช้ PhantomJS และ NightmareJS เป็นต้น มี use case ที่ใช้งานได้เช่น
  • การทดสอบระบบ web
  • การดึงข้อมูลออกมาจาก web
  • การทำ screenshot หน้า web
  • การบันทึก vdo ของการทดสอบระบบ web
มาลองใช้งานกันดูนิดหน่อย

Software ที่ใช้งานประกอบไปด้วย

  • Mac OS
  • Homebrew
เริ่มด้วยการติดตั้งผ่าน brew ด้วยคำสั่ง [code] brew install Caskroom/versions/google-chrome-canary [/code] จากนั้นทำการ start Chrome แบบ headless ด้วยคำสั่ง [code] $/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --headless --remote-debugging-port=9222 --disable-gpu http://www.somkiat.cc [/code] คำอธิบาย ใส่ parameter --headless เพื่อบอก mode การทำงาน port ที่ใช้งานคือ 9222 ทดสอบไปที่ web ที่เราต้องการ สามารถทดสอบเข้าใช้งานผ่าน browser ด้วย url = http://localhost:9222 เป็นการเข้าไป debug ระบบดังรูป

มาดูตัวอย่างการใช้งานกันนิดหน่อย

โดยเป็นการ extract ข้อมูล link ต่าง ๆ ออกมาจาก website ซึ่งจะต้องใช้งานผ่าน Chrome Remote Interface มี code ตัวอย่างซึ่งเขียนด้วย Node.js ดังนี้ [gist id="f4e9a2df5c37510212db38a49b72d0fb" file="index.js"] เพียงเท่านี้ก็สามารถเริ่มต้นใช้งาน Chrome headless ได้แล้ว ถ้าออกเป็นตัวจริง ๆ แล้วน่าจะมีอะไรที่น่าสนใจกว่านี้

Viewing all articles
Browse latest Browse all 1997

Trending Articles