Tự động hóa API trong trình duyệt

Blog » Tự động hóa API trong trình duyệt

Selenium, Puppeteer và Playwright là gì?

Làm thế nào để tự động hóa các tác vụ lặp lại khi làm việc với trình duyệt anti-detect và tăng tốc độ công việc nhiều lần?

Khi bạn làm việc với số lượng lớn profile trình duyệt, bạn phải thực hiện rất nhiều thao tác đơn giản và lặp đi lặp lại. Đó là những thao tác như: tạo profile trình duyệt, thêm proxy vào profile, thêm bookmark, điền form đăng ký, truy cập liên kết, v.v. Việc tự làm tất cả điều này bằng tay tốn rất nhiều thời gian, đặc biệt nếu bạn làm việc với hàng chục hoặc thậm chí hàng trăm profile.

⚙️ Tự động hóa giúp bạn không phải thực hiện toàn bộ thao tác thủ công. Nó tăng tốc công việc lên hàng chục lần, tiết kiệm thời gian và cho phép bạn tập trung vào các nhiệm vụ quan trọng hơn. Trong bài viết này, chúng ta sẽ tìm hiểu tự động hóa qua API là gì và những công cụ nào cho phép thực hiện điều đó. Đi thôi nào!

API-automation trong trình duyệt là gì? 🤔

Đó là việc điều khiển các thao tác trong trình duyệt bằng các lệnh lập trình. Tức là khi bạn sử dụng API-automation, bạn tạo ra các lệnh — và chính những lệnh này sẽ điều khiển mọi thao tác trong anti-detect. Các lệnh lập trình thực hiện từng thao tác nhanh hơn con người và có thể thực hiện bao nhiêu hành động tùy ý cùng lúc trong anti-detect. Vì thế, tự động hóa qua API giúp tăng tốc độ làm việc nhiều lần.

Các lệnh lập trình được tạo trong những môi trường viết code, ví dụ Node.js hoặc Postman. Hơn nữa, đó не chỉ là các lệnh để thao tác trong anti-detect, mà còn là lệnh để kết nối với anti-detect qua API. Phổ biến nhất là sử dụng Postman, vì nó cho phép không chỉ viết mã lệnh mà còn chọn tham số của request (ví dụ: POST hoặc GET). Ngoài ra, Postman có nhiều tính năng tiện lợi hơn, có các tab giúp việc viết và kiểm tra code trở nên thoải mái và hiệu quả hơn.

API Dolphin Anty

Không gian làm việc của Postman

Công cụ tự động hóa: Puppeteer, Selenium và Playwright 🛠️

Để tạo các lệnh, trong môi trường lập trình cần tải các thư viện tự động hóa — Puppeteer, Playwright và Selenium. Hãy cùng xem ngắn gọn từng công cụ.

Puppeteer

Đây là một thư viện do Google phát triển, dùng để tự động hóa các thao tác trong trình duyệt Chrome hoặc Chromium bằng JavaScript.

Puppeteer rất phù hợp cho:

  • tự động điền form;
  • tạo ảnh chụp màn hình và tệp PDF của trang web;
  • web scraping;
  • kiểm thử ứng dụng web.

Thư viện này cung cấp một API cấp cao để điều khiển trình duyệt thông qua DevTools Protocol, cho phép thực hiện hầu như mọi hành động mà người dùng trình duyệt có thể làm thủ công.

Puppeteer Dolphin Anty

Playwright

Đây là một thư viện tiên tiến hơn do Microsoft phát triển. Nó rất giống với Puppeteer, nhưng cung cấp nhiều khả năng hơn. Ví dụ, Playwright cho phép sử dụng JavaScript hoặc TypeScript để điều khiển không chỉ Chromium, mà cả Firefox và WebKit.

Playwright là một API mạnh mẽ để làm việc với các chức năng web như:

  • ứng dụng một trang (SPA);
  • xử lý WebSocket;
  • service workers.

Thư viện này hỗ trợ mô phỏng thiết bị (device emulation), chặn và can thiệp mạng (network interception), cũng như đa luồng, khiến nó trở thành công cụ cực kỳ hữu ích cho việc kiểm thử, scraping và tự động hóa các tác vụ trong anti-detect.

Playwright Dolphin Anty

Selenium

Selenium hỗ trợ tất cả các trình duyệt web phổ biến (Chrome, Firefox, Safari, Internet Explorer và Edge), vì vậy nó thường được sử dụng cho kiểm thử đa trình duyệt (cross-browser testing). Công nghệ này cũng khá phổ biến và được sử dụng rộng rãi. Tuy nhiên, khi làm việc với các framework và thư viện JavaScript hiện đại, Selenium không nhanh và không tiện bằng Puppeteer và Playwright.

Ngoài ra, thời gian gần đây, các hệ thống chống gian lận (anti-fraud) đã học cách nhận diện tự động hóa trong trình duyệt khi Selenium được sử dụng. Điều này có thể dẫn đến việc tài khoản bị khoá hoặc đóng băng hàng loạt, особенно khi bạn làm việc thông qua anti-detect. Tuy nhiên, bạn không cần lo lắng, nếu bạn sử dụng 🚀 Dolphin Anty — trình duyệt này ẩn rất tốt việc sử dụng các công cụ tự động hóa, bao gồm cả Selenium.

Selenium Dolphin Anty

Trước đây, Selenium từng là công cụ không thể thay thế để tự động hóa trình duyệt web, đặc biệt trong lĩnh vực kiểm thử ứng dụng web. Nhưng hiện nay, công nghệ này đã thua kém đáng kể so với các thư viện tiên tiến hơn.

👉🏻 Các chuyên gia khuyên nên chú ý đến hai công cụ đầu tiên, vì Selenium đã lỗi thời không chỉ về mặt kỹ thuật mà còn về khả năng và hiệu suất.

API-automation được thực hiện như thế nào?

Tự động hóa qua API trong trình duyệt anti-detect bao gồm 3 bước:

  1. ủy quyền (đăng nhập) vào tài khoản;
  2. kết nối thư viện tự động hóa;
  3. gửi các lệnh để thực hiện thao tác.

Để tạo và kiểm tra các lệnh, bạn cần một nền tảng để viết và kiểm thử mã. Trong các ví dụ dưới đây, chúng ta sẽ thực hiện mọi thứ trong Postman.

Khởi chạy anti-detect và profile

Trước tiên, cần khởi chạy trình duyệt thông qua API với DevTools Protocol được bật. Để làm điều này:

1. Mở Dolphin Anty thủ công và tiến hành đăng nhập. Bạn có thể đăng nhập bằng tài khoản và mật khẩu, hoặc bằng token. Trong trường hợp dùng token, bạn cần lấy token trong tài khoản cá nhân trên trang web Dolphin Anty, tại mục API.

Token Dolphin Anty

2. Sau đó, chuyển sang Postman và gửi yêu cầu POST sau: URL: http://localhost:3001/v1.0/auth/login-with-token
3. Header: Content-Type: application/json
4. Body: {“token”: “API_TOKEN”}

👀 Trong JavaScript, yêu cầu này sẽ trông như sau:

JavaScript Dolphin Anty

👀 Ví dụ mã bằng Python:

Python Dolphin Anty

1. Tiếp theo, thay thế ‘API_TOKEN’ bằng token của bạn, lấy trong trang web Dolphin Anty.
2. Sau khi ủy quyền xong, hãy khởi chạy profile bằng cách chọn yêu cầu GET và chèn lệnh sau: http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1

Profile Launch Dolphin Anty

3. Bạn cũng có thể khởi chạy profile ở chế độ headless: http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1&headless=1

💡 Headless mode — là chế độ hoạt động của trình duyệt web, trong đó trình duyệt thực hiện đầy đủ các chức năng thông thường nhưng không có giao diện đồ họa. Nghĩa là trình duyệt vẫn tải và xử lý trang web, thực thi JavaScript và làm mọi thứ giống như trình duyệt bình thường, nhưng không hiển thị giao diện lên màn hình. Chế độ này đặc biệt hữu ích cho:

  • tự động hóa kiểm thử ứng dụng web;
  • web scraping;
  • tương tác tự động với các trang web;
  • và các kịch bản khác, nơi không cần giao diện trực quan.

Khi profile được khởi chạy thành công, phản hồi trả về sẽ tương tự như trong ảnh chụp màn hình:

JSON Dolphin Anty

Kết nối thư viện và thực hiện tự động hóa

Bây giờ, để có thể gửi các lệnh tự động hóa thao tác, bạn cần kết nối thư viện Puppeteer hoặc Playwright. Sau khi kết nối các thư viện này, bạn có thể bắt đầu viết ngay các lệnh cần thực thi.

✅ Đối với Puppeteer, bạn cần viết như sau:

const puppeteer = require(‘puppeteer-core’);

(async () => {

    // ĐIỀN port CỦA BẠN TẠI ĐÂY

    const port = 50568;

    // ĐIỀN wsEndpoint CỦA BẠN TẠI ĐÂY

    const wsEndpoint = ‘/devtools/browser/c71c1a9d-f07c-4dd9-84a9-53a4c6df9969’;

    // KẾT NỐI TRỰC TIẾP TỚI TRÌNH DUYỆT

    const browser = await puppeteer.connect({

        browserWSEndpoint: `ws://127.0.0.1:${port}${wsEndpoint}`

    });

    // TỪ ĐÂY TRỞ ĐI CÓ THỂ TỰ ĐỘNG HÓA BẤT CỨ ĐIỀU GÌ CHÚNG TA MUỐN

    // VÍ DỤ: CHỤP ẢNH MÀN HÌNH TRANG GOOGLE

    const page = await browser.newPage();

    await page.goto(‘https://google.com’);

    await page.screenshot({ path: ‘google.png’ });

    await browser.close();

})();

✅ Thư viện Playwright được kết nối theo cách tương tự:

const { chromium } = require(‘playwright’);

(async () => {

    // ĐIỀN port CỦA BẠN TẠI ĐÂY

    const port = 50568;

    // ĐIỀN wsEndpoint CỦA BẠN TẠI ĐÂY

    const wsEndpoint = ‘/devtools/browser/c71c1a9d-f07c-4dd9-84a9-53a4c6df9969’;

    // KẾT NỐI TRỰC TIẾP TỚI TRÌNH DUYỆT

    const browser = await chromium.connectOverCDP(`ws://127.0.0.1:${port}${wsEndpoint}`);

    // TỪ THỜI ĐIỂM NÀY CÓ THỂ TỰ ĐỘNG HÓA MỌI THỨ CHÚNG TA MUỐN

    // VÍ DỤ: CHỤP ẢNH MÀN HÌNH TRANG GOOGLE

    const page = await browser.contexts()[0].newPage();

    await page.goto(‘https://google.com’);

    await page.screenshot({ path: ‘google.png’ });

    await browser.close();

})();

📚 Danh sách đầy đủ các thao tác tự động hóa và các lệnh tương ứng của chúng có tại đây — Tài liệu Dolphin Anty Remote API.

API Documentation Dolphin Anty

Danh sách các thao tác dành cho tự động hóa nằm ở cột bên trái.

Như chúng ta thấy, ở đây đã tập hợp đầy đủ tất cả các thao tác tiêu chuẩn trong các trình duyệt anti-detect. Và để nhanh chóng chuyển sang môi trường lập trình, ở góc trên bên phải có nút “Run in Postman”.

Dừng profile

Để dừng profile sau khi hoàn tất công việc, hãy gửi yêu cầu GET:

http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/stop

Kết luận

Tóm lại, việc sử dụng API-automation thông qua các công cụ như Selenium, Puppeteer và Playwright giúp đơn giản hóa đáng kể việc quản lý số lượng lớn tài khoản.

Nhờ khả năng tương tác với trình duyệt và thực hiện nhiều hành động trên các trang web, các công cụ này cho phép xây dựng quy trình làm việc hiệu quả và ổn định hơn, chưa kể đến việc tăng tốc độ lên nhiều lần.

Nếu trước đây trong một ngày bạn chỉ có thể kiểm soát thủ công 50 profile, thì với tự động hóa, việc quản lý 1.000 profile hoặc hơn không còn là vấn đề khó khăn nữa! 🦾

Dolphin Cloud API Dolphin Anty

Kết quả là năng suất làm việc tăng lên: bạn có thể farm được nhiều tài khoản hơn, đăng nhiều sản phẩm hơn trên các marketplace, tham gia nhiều hoạt động crypto hơn và thực hiện được nhiều nhiệm vụ hữu ích khác.. Nhân tiện, khi làm việc qua API, bạn hoàn toàn có thể kết hợp tự động hóa và điều khiển thủ công trình duyệt.

🤓 Chúng tôi hy vọng bài viết này sẽ trở thành cánh cửa mở ra thế giới tự động hóa dành cho bạn. Và xin nhắc lại: nếu bạn cần bất kỳ sự hỗ trợ nào, bạn luôn có thể liên hệ với đội ngũ hỗ trợ thân thiện của chúng tôi trực tiếp trong cửa sổ chat của 🔥 Dolphin Anty!