Sử dụng Selenium trong Node.js để gửi đoạn mã JavaScript vào website trên Chrome
Hướng dẫn cách sử dụng Selenium trong Node.js để tự động hóa việc gửi đoạn mã JavaScript vào một trang web trên trình duyệt Chrome. Bài viết sẽ hướng dẫn từng bước từ cài đặt đến thực thi mã.
Trong bài viết này, chúng ta sẽ tìm hiểu cách thiết lập Selenium với Node.js để gửi một đoạn mã JavaScript vào một trang web. Chúng ta sẽ sử dụng thư viện selenium-webdriver
để điều khiển trình duyệt Chrome và thực hiện các thao tác cần thiết.
Mã Node.js:
// Cài đặt các thư viện cần thiết
const { Builder, By, Key, until } = require('selenium-webdriver');
// Hàm chính để gửi mã JavaScript vào website
(async function example() {
// Khởi tạo trình duyệt Chrome
let driver = await new Builder().forBrowser('chrome').build();
try {
// Mở trang web mong muốn
await driver.get('https://www.example.com');
// Gửi đoạn mã JavaScript vào trang web
const script = "alert('Hello from Selenium!');"; // Đoạn mã JavaScript
await driver.executeScript(script); // Thực thi đoạn mã
// Chờ một chút để xem kết quả
await driver.sleep(2000); // 2 giây
} finally {
// Đóng trình duyệt
await driver.quit();
}
})();
Giải thích chi tiết từng dòng code:
-
const { Builder, By, Key, until } = require('selenium-webdriver');
: Nhập các thành phần cần thiết từ thư việnselenium-webdriver
. -
let driver = await new Builder().forBrowser('chrome').build();
: Khởi tạo một phiên bản trình duyệt Chrome. -
await driver.get('https://www.example.com');
: Mở trang web mà bạn muốn gửi mã JavaScript. -
const script = "alert('Hello from Selenium!');";
: Định nghĩa đoạn mã JavaScript mà bạn muốn gửi. -
await driver.executeScript(script);
: Thực thi đoạn mã JavaScript trên trang web. -
await driver.sleep(2000);
: Chờ 2 giây để xem kết quả. -
await driver.quit();
: Đóng trình duyệt sau khi hoàn tất.
Yêu cầu hệ thống:
- Node.js (phiên bản 14 trở lên)
- Trình duyệt Chrome
- ChromeDriver tương thích với phiên bản Chrome
Cách cài đặt các thư viện để chạy đoạn mã trên:
Chạy lệnh sau để cài đặt thư viện selenium-webdriver
:
npm install selenium-webdriver
Lời khuyên:
- Đảm bảo rằng phiên bản ChromeDriver tương thích với phiên bản Chrome mà bạn đang sử dụng.
- Bạn có thể thay đổi đoạn mã JavaScript trong biến
script
để thực hiện các thao tác khác trên trang web.