Puppeteer is a Node library which provides a high-màn chơi API lớn control headless Chrome or Chromium over the DevTools Protocol. It can also be configured lớn use full (non-headless) Chrome or Chromium.
Bạn đang xem: Puppeteer là gì
Tạm dịch là:
Puppeteer là một trong thư viện của Node cung cấp API cấp cao nhằm điều hành và kiểm soát Chrome hoặc Chromium sử dụng giao thức DevTools. Puppeteer khoác định chạy headless, nhưng mà rất có thể được định thông số kỹ thuật nhằm chạy non-headless.
Mình sẽ phân tích và lý giải một chút: Theo mình đọc, run headless là vấn đề bạn chạy browser mà lại không có đồ họa. Việc chạy browser điều này thường xuyên để crawl tài liệu, tự sướng màn hình,... chứ đọng không hẳn nhằm coi xét website.
Một số Việc hơi giỏi ho nhưng mà chúng ta có thể làm cho cùng với Pupperteer là:
Chụp hình họa màn hình hoặc xuất file pdf của các trang.Crawl một SPA (Single-Page Application) với xuất ra văn bản pre-rendered (ví dụ như "SSR" (Server-Side Rendering)).Tự hễ gửi form, thử nghiệm giao diện với nhập tài liệu tự bàn phím,...Tạo môi trường xung quanh testing tự động hóa update. Chạy phiên bản thử nghiệm trong Chorme cùng với những kĩ năng tiên tiến nhất với phiên bản javascript tiên tiến nhất.Ghi lại timeline trace đến trang web của người sử dụng góp phạt hiện sớm những sự việc về hiệu năng.Test Chorme Extensions.Xem thêm: Hành Boa Rô Là Gì - Giải Đáp Những Bí Mật Không Ngờ Từ Loại Hành Này
Trong nội dung bài viết này, bản thân sẽ thuộc các bạn demo cần sử dụng puppeteer để tự sướng screen hoặc xuất file pdf nhé

3.2 Thử xuất một file pdf nha
const puppeteer = require("puppeteer");(async () => const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto("https://mni-alive.com", waitUntil: "networkidle2"); await page.pdf( path: "mni-alive.com.pdf", format: "A4", printBackground: true, ); await browser.close();)();Kết quả:

3.3 Chụp trang thử khám phá authenticate
Nếu các bạn chụp một trang trải đời đăng nhập thì sẽ cầm cố nào rò rỉ.
Ví dụ: Ở dây, bạn muốn chụp màn hình hiển thị trang viết bài xích của trang mni-alive.com.
const puppeteer = require("puppeteer");(async () => const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto("https://mni-alive.com/publish/post", waitUntil: "networkidle2"); await page.screenshot( path: "mni-alive.com-authenticate.png") await browser.close();)();Kết quả:

Như trong trường phù hợp này, họ sẽ chụp được trang singin. Vì lúc brower run và truy vấn cho tới trang viết bài xích thì router được điều phối lịch sự trang đăng nhập vị trang mà lại họ ý muốn truy cập hưởng thụ authenticate.
Cách giải pháp xử lý là bọn họ sẽ đề xuất xét cookie trước lúc truy cập trang web đó. Thử lại đợt nữa nào:
const puppeteer = require("puppeteer");(async () => const cookie = name: "mni-alive.com_auth", value: "", // replace this! domain: "mni-alive.com", url: "https://mni-alive.com", path: "/", httpOnly: true, secure: true, ; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.setCookie(cookie); await page.goto("https://mni-alive.com/publish/post", waitUntil: "networkidle2"); await page.screenshot( path: "mni-alive.com-authenticate.png") await browser.close();)()Kết trái chúng ta chiếm được đang như vầy nè