Tags:
Node Thumbnail

ฟีเจอร์หนึ่งของ Chrome ที่คนไม่รู้จักกันมากนักคือ Headless หรือการรัน Chrome โดยไม่ต้องแสดงหน้าต่างของ Chrome มาให้เราเห็น ตัวอย่างการใช้งาน Headless Chrome มักเป็นงานฝั่งนักพัฒนา เช่น เปิด Chrome มาเพื่อบันทึกภาพหน้าจอหรือบันทึกเว็บเพจเป็น PDF รวมไปถึงงานพวก automate testing ทดสอบการเรนเดอร์เว็บ

การเรียกใช้งาน Headless Chrome สามารถทำได้โดยเรียกผ่านคอมมานด์ไลน์แล้วใส่พารามิเตอร์ chrome --headless ตามมา (รายละเอียด) แต่ล่าสุดกูเกิลเปิดให้เรารัน Headless Chrome บนคลาวด์ได้แล้ว ทำให้เราสามารถเรียกใช้ Chrome ทำงานจากฝั่งเซิร์ฟเวอร์ได้สะดวกมากขึ้น

สิ่งที่น่าสนใจคือกูเกิลนำ Headless Chrome ไปพ่วงกับ App Engine และ Cloud Functions ซึ่งตัวหลังเป็นการทำงานแบบ serverless ไม่ต้องรันอะไรค้างไว้ก็ทำงานได้เมื่อต้องการ ทำให้เราสามารถเขียนโปรแกรมให้ Cloud Functions รอรับค่าจากอีเวนต์บางอย่าง แล้วเรียก Headless Chrome ขึ้นมาทำงานได้ทันที

การเรียก Chrome ขึ้นมาบน Cloud Functions หรือ App Engine ต้องใช้ไลบรารีพิเศษของกูเกิลชื่อ Puppeteer ที่สามารถเรียกใช้งาน DevTools ของ Chrome ได้ด้วย

ที่มา - Google Cloud Blog

No Description

Get latest news from Blognone

Comments

By: tonkung
Windows Phone
on 16 August 2018 - 13:23 #1065965

เล่นอยู่ คือมันดีมากกก

By: HMage
AndroidWindows
on 17 August 2018 - 09:16 #1066061 Reply to:1065965

ปกติใช้ทำอะไรบ้างหรอครับ

ผมก็สนใจแต่ยังนึกเรื่องที่จะเอาไปใช้ไม่ออก

By: hisoft
ContributorWindows PhoneWindows
on 17 August 2018 - 15:22 #1066115 Reply to:1066061
hisoft's picture

ทำอะไรก็ตามที่คนไม่ต้องเข้าไปยุ่งครับ

แต่ผมใช้แค่รันเทสต์แฮะ

By: Configuleto
AndroidWindows
on 17 August 2018 - 20:54 #1066165 Reply to:1066061
Configuleto's picture

เท่าที่นึกออกในหัวตอนนี้

  • สารพัด tests
  • ถ่าย web screenshot
  • crawler หน้า web ป้อนไปให้ที่อื่น (ไม่ใช่อ่าน html เท่านั้น แต่เป็นข้อมูลหลังจาก js รันแล้ว)
  • steam salien bot (ฮา)

โดยที่ว่ามาทั้งหมด ทำได้โดยไม่ใช้คน (สั่งรัน 1000 headless พร้อมกันเงี้ย)

By: inetasia on 17 August 2018 - 10:22 #1066076
inetasia's picture

We are using this technology at our company for our Campaign Sherpa project. It's much better than PhantomJS which gave us all sorts of problems.