Puppeteer

  • Puppeteer โดยไม่ต้องมี Desktop UI

    น้อง Manatsawin Hanmongkolchai มาบอกว่าที่ใช้อยู่เหมือนลง Dependency ให้ครบก็ใช้งานได้เหมือนกันตามนี้ https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md นั้น อันนี้ถือว่าเป็นอีกวิธีนึงแล้วกันครับ จาก Blog เก่า เรื่อง Pupeteer ปัญหาหลักๆเลยที่เราจะต้องเจอคือ Pupeteer ต้องไปรัน Chrome จริงๆ ซึ่งปัญหาที่ตามามาคือ Chrome ต้องใช้ OS ที่มี UI ถึงจะรันได้ อาจจะเป็น Window หรือ Ubuntu ที่มี Desktop ซึ่งในเคสของผม ใช้ Window อยู่ คราวนี้ Google Cloud compute engine ที่เป็น window อยู่ มีราคาแพง ซึ่งถ้าเรารัน Pupeteer บนเครื่อง ที่เป็น centos หรือ linux ที่ไม่มี UI…

  • มาทำ Automation หน้าเว็บด้วย Puppeteer กัน

    จริงๆ เป้าหมายของ Blog นี้คือ ไปเจอวิธีใช้ Puppeteer โดยไม่ต้องมีเครื่อง Desktop มาแต่ว่ากลัวคนไม่รู้จัก เลยมาเขียนเรื่อง Puppeteer ก่อน Puppeteer คือ?? เมื่อหลายเดือนก่อนตอน Chrome 59 ออก ตัว stable มี feature นึงที่เปิดตัวมาด้วยคือ Chrome headless อธิบายง่ายๆคือ เราสามารถเขียนโปรแกรมสั่งให้ Chrome ทำสิ่งต่างๆได้โดยไม่ต้องมาเปิด chrome หรือ click เองได้ แต่มันติดตรงที่ว่า มันแอบใช้ยากอยู่หน่อย Google เลยทำ Puppeteer ขึ้นมาเพื่อให้มันง่ายขึ้น ถ้าใครเคยใช้ PhantomJS หรือ NightmareJS ก็คือแบบเดียวกันเลย เขียนด้วย node.js เหมือนกันด้วย ส่วนตัวผมเคยใช้ Puppeteer อยู่บน Production แต่ต้องเอาลงมาก่อนเพราะว่ามีปัญหาเรื่อง Memory leak…