Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE

By Anonymous☉ 3542 Views

Take a Quick Look

Hướng dẫn thiết lập Selenium đầy đủ: cài Java hoặc Python, WebDriver, Selenium Manager và IDE. Bao gồm Selenium Grid, Docker và mẹo trình duyệt chống phát hiện.

🔥 Limited-Time Offer! Save extra 10% off on your first monthly plan with code: Anitdetect10

Thiết lập Selenium: Hướng dẫn đầy đủ để cài đặt WebDriver, Java, Python và dự án đầu tiên

Việc chạy Selenium lần đầu có thể giống như lắp ráp đồ nội thất mà không có hướng dẫn: bạn cần đúng các binding ngôn ngữ, một trình duyệt, một driver và một IDE tương thích với nhau. Hướng dẫn này sẽ đi qua toàn bộ quá trình thiết lập Selenium trên Windows, macOS và Linux, sau đó chỉ cách xác minh mọi thứ bằng một bài kiểm thử hoạt động. Nó cũng đề cập đến việc mở rộng quy mô với Selenium Grid, chạy trong Docker và những việc cần làm khi tự động hóa của bạn cần các cấu hình trình duyệt biệt lập.

Thiết lập Selenium thực sự bao gồm những gì

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium thực sự bao gồm những gì

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium thực sự bao gồm những gì.

Selenium không phải là một tệp thực thi duy nhất mà bạn cài đặt và quên đi. Nó là một framework gồm nhiều thành phần chuyển động:

  • Binding ngôn ngữ — thư viện bạn import trong Java, Python, C#, Ruby hoặc JavaScript.
  • WebDriver — API và giao thức điều khiển hành vi trình duyệt theo cách trung lập về ngôn ngữ.
  • Trình điều khiển trình duyệt — các tệp thực thi nhỏ (ChromeDriver, GeckoDriver, EdgeDriver) dịch lệnh WebDriver thành hành động bên trong một trình duyệt cụ thể.
  • Một trình duyệt — Chrome, Firefox, Edge hoặc Safari.
  • Công cụ build hoặc IDE — Maven hoặc Gradle cho Java, pip và môi trường ảo cho Python, cùng với trình soạn thảo như IntelliJ IDEA, Eclipse hoặc VS Code.

Vì mỗi nhà cung cấp trình duyệt duy trì driver riêng, các bước thiết lập có chút khác biệt tùy thuộc vào trình duyệt bạn nhắm đến. Tin tốt: các phiên bản Selenium hiện đại bao gồm Selenium Manager, tự động phát hiện và tải driver chính xác trong hầu hết các trường hợp, loại bỏ nguồn lỗi thiết lập phổ biến nhất.

Điều kiện tiên quyết trước khi bạn cài đặt bất cứ thứ gì

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Điều kiện tiên quyết trước khi bạn cài đặt bất cứ thứ gì

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Điều kiện tiên quyết trước khi bạn cài đặt bất cứ thứ gì.

Hãy kiểm tra những mục này trước để bạn không phải gỡ lỗi hai vấn đề cùng lúc:

  1. Hệ điều hành được hỗ trợ — Windows 10/11, macOS gần đây hoặc bản phân phối Linux phổ biến.
  2. Trình duyệt hiện tại — Chrome, Firefox hoặc Edge, được cập nhật lên bản ổn định mới nhất.
  3. Môi trường chạy ngôn ngữ — Java JDK 11 trở lên hoặc Python 3.9 trở lên.
  4. Quyền quản trị — cần thiết để đặt biến môi trường và cài đặt gói hệ thống.
  5. Mạng ổn định — Selenium Manager tải driver trong lần chạy đầu tiên.

Thiết lập Selenium cho Java

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium cho Java

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium cho Java.

Java vẫn là stack Selenium phổ biến nhất trong các nhóm QA doanh nghiệp. Các bước dưới đây giả định bạn bắt đầu từ một máy sạch.

Bước 1: Cài đặt Java JDK

Tải bản dựng JDK (Temurin, Oracle hoặc nhà cung cấp bạn chọn) và chạy trình cài đặt. Sau đó xác nhận nó có trên PATH của bạn:

java -version

Nếu lệnh không được nhận diện, hãy đặt JAVA_HOME trỏ đến thư mục JDK của bạn và thêm %JAVA_HOME%\bin (Windows) hoặc $JAVA_HOME/bin (macOS/Linux) vào PATH.

Bước 2: Cài đặt IDE

IntelliJ IDEA Community, Eclipse và VS Code đều hoạt động tốt. Chọn một cái và cài đặt gói tiện ích Java nếu cần.

Bước 3: Cài đặt Maven

Maven quản lý các phụ thuộc và build. Sau khi cài đặt, xác minh bằng:

mvn -version

Đặt MAVEN_HOME và thêm thư mục bin của nó vào PATH nếu lệnh thất bại.

Bước 4: Tạo dự án Maven

Trong IDE của bạn, tạo một dự án Maven mới với group ID như com.example.selenium và artifact ID như selenium-automation. Sau đó thêm phụ thuộc Selenium vào pom.xml:

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>4.27.0</version>
</dependency>

Nếu Maven báo lỗi mô tả artifact thất bại, hãy chạy mvn -U clean install để buộc làm mới, sau đó cập nhật dự án trong IDE của bạn.

Bước 5: Viết và chạy bài kiểm thử đầu tiên

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class FirstTest {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.selenium.dev/documentation/webdriver/getting_started/");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

Nếu trình duyệt mở ra và tiêu đề được in, thiết lập Selenium Java của bạn đã hoàn tất.

Thiết lập Selenium cho Python

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium cho Python

Thiết lập Selenium: Cài đặt WebDriver, Java, Python & IDE - Thiết lập Selenium cho Python.

Thiết lập Python nhanh hơn vì pip xử lý các phụ thuộc và không cần công cụ build.

Bước 1: Tạo môi trường ảo

python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate

Bước 2: Cài đặt Selenium

pip install selenium

Bước 3: Chạy kiểm thử nhanh

from selenium import webdriver

with webdriver.Chrome() as driver:
    driver.get("https://www.selenium.dev/documentation/webdriver/getting_started/")
    print(driver.title)

Selenium Manager tự động giải quyết driver. Nếu bạn muốn kiểm soát thủ công, hãy tải driver phù hợp và truyền đường dẫn của nó qua Service(executable_path=...).

Quản lý Driver: Selenium Manager so với Thiết lập thủ công

Cách tiếp cận Phù hợp nhất cho Đánh đổi
Selenium Manager Hầu hết dự án, khởi đầu nhanh Yêu cầu truy cập mạng trong lần chạy đầu tiên
Tải driver thủ công CI tách biệt mạng, phiên bản cố định Bạn phải cập nhật driver sau khi nâng cấp trình duyệt
Thư viện WebDriverManager Nhóm Java muốn kiểm soát rõ ràng Phụ thuộc thêm để duy trì

Đối với hầu hết độc giả, để Selenium Manager xử lý driver là mặc định đúng. Chỉ cố định phiên bản khi môi trường CI của bạn không thể truy cập internet.

Xác minh thiết lập Selenium của bạn

Một thiết lập chỉ đáng tin cậy nếu bạn có thể chứng minh nó hoạt động. Chạy các kiểm tra sau:

  • Kiểm tra phiên bản — pip show selenium hoặc kiểm tra cây phụ thuộc Maven.
  • Khởi chạy trình duyệt — mở một trang, đọc tiêu đề, đóng trình duyệt.
  • Chế độ headless — thêm --headless=new (Chrome) hoặc -headless (Firefox) để xác nhận tương thích CI.
  • Chụp ảnh màn hình — lưu một PNG để xác minh hiển thị và quyền tệp.
  • Chờ đợi — kiểm tra chờ đợi rõ ràng trên một phần tử động để xác nhận hành vi thời gian.

Lỗi thiết lập Selenium phổ biến và cách khắc phục

Lỗi Nguyên nhân có thể Cách khắc phục
SessionNotCreatedException Phiên bản driver và trình duyệt không khớp Cập nhật trình duyệt hoặc để Selenium Manager tải driver
WebDriverException: 'chromedriver' executable needs to be in PATH Không tìm thấy driver Thêm thư mục driver vào PATH hoặc truyền executable_path
java.lang.NoClassDefFoundError Thiếu phụ thuộc Import lại dự án Maven và chạy mvn clean install
ModuleNotFoundError: No module named 'selenium' Môi trường ảo chưa được kích hoạt Kích hoạt venv trước khi chạy script
ElementClickInterceptedException Lớp phủ hoặc hoạt ảnh Sử dụng chờ đợi rõ ràng và cuộn vào tầm nhìn

Mở rộng quy mô: Selenium Grid và Docker

Khi các bài kiểm thử cục bộ đã vượt qua, bước tiếp theo là thực thi song song. Selenium Grid phân phối các bài kiểm thử trên nhiều máy và trình duyệt thông qua mô hình hub-and-node. Trong Selenium 4, chế độ standalone là điểm khởi đầu đơn giản nhất:

java -jar selenium-server-4.27.0.jar standalone

Docker làm cho Grid có thể tái tạo. Các image Selenium chính thức cho phép bạn khởi tạo các node Chrome, Firefox và Edge chỉ với một lệnh, rất lý tưởng cho các pipeline CI. Kết hợp Grid với một framework kiểm thử như TestNG, JUnit hoặc pytest để chạy các bộ kiểm thử song song và giảm thời gian phản hồi.

Khi thiết lập Selenium cục bộ là không đủ

Selenium điều khiển một trình duyệt, nhưng nó không cô lập danh tính của trình duyệt đó. Nếu tự động hóa của bạn đăng nhập vào nhiều tài khoản trên cùng một nền tảng — sàn thương mại điện tử, tài khoản quảng cáo, hồ sơ xã hội — mọi phiên đều chia sẻ cùng một dấu vết trừ khi bạn cố tình tách chúng ra. Đó là lúc lớp trình duyệt chống phát hiện trở nên liên quan.

Các công cụ như AdsPower tạo các cấu hình trình duyệt biệt lập, mỗi cấu hình có Canvas, WebGL, User Agent và cấu hình proxy riêng. Bạn có thể điều khiển các cấu hình đó bằng Selenium hoặc Playwright thông qua API cục bộ, để mỗi phiên tự động trông giống như một thiết bị riêng biệt thay vì đăng nhập lặp lại từ một máy. Đối với các nhóm chạy quy trình nhiều tài khoản, sự kết hợp này thường thực tế hơn so với việc xoay xở hàng chục VM.

Nếu điều đó phù hợp với trường hợp sử dụng của bạn, hướng dẫn tự động hóa AdsPower và Python sẽ hướng dẫn thiết lập Local API với mã hoạt động, và tổng quan thu thập dữ liệu tự động giải thích cách mở rộng thu thập mà không vấp phải phòng thủ chống bot.

Thực hành tốt nhất cho một thiết lập dễ bảo trì

  • Cố định phiên bản Selenium trong pom.xml hoặc requirements.txt để các bản build có thể tái tạo.
  • Sử dụng chờ đợi rõ ràng thay vì time.sleep() để giảm tính không ổn định.
  • Tách page object khỏi logic kiểm thử để các thay đổi locator chỉ ở một nơi.
  • Chạy headless trong CI, có giao diện cục bộ để gỡ lỗi.
  • Chụp ảnh màn hình và nhật ký khi thất bại; chúng tiết kiệm hàng giờ đoán mò.
  • Giữ trình duyệt và driver luôn cập nhật — các cặp lỗi thời là nguyên nhân hàng đầu gây hỏng đột ngột.

Đọc thêm

Nguồn và đọc thêm

Câu hỏi thường gặp

Tôi có cần cài đặt ChromeDriver thủ công không?

Thường thì không. Selenium 4.6 trở lên bao gồm Selenium Manager, tự động phát hiện phiên bản trình duyệt của bạn và tải driver phù hợp. Cài đặt thủ công vẫn hữu ích cho môi trường CI ngoại tuyến hoặc khi bạn cần một phiên bản cố định cụ thể.

Tôi nên chọn ngôn ngữ nào cho thiết lập Selenium?

Java phổ biến trong các nhóm QA doanh nghiệp và kết hợp tốt với Maven, TestNG và Grid. Python thiết lập nhanh hơn và phổ biến cho scripting, công việc dữ liệu và các dự án tự động hóa nhỏ hơn. Cả hai đều hỗ trợ các tính năng WebDriver giống nhau, vì vậy hãy chọn dựa trên kỹ năng hiện có của nhóm bạn.

Tại sao script Selenium của tôi thất bại với SessionNotCreatedException?

Điều này hầu như luôn có nghĩa là phiên bản trình duyệt và driver không khớp. Cập nhật trình duyệt của bạn lên bản ổn định mới nhất, xóa bất kỳ driver cài đặt thủ công nào và để Selenium Manager tải một driver tương thích.

Tôi có thể chạy Selenium trên máy chủ không có màn hình không?

Có. Sử dụng chế độ headless (--headless=new cho Chrome, -headless cho Firefox) hoặc chạy trong container với các image Docker Selenium chính thức. Thực thi headless là thực hành tiêu chuẩn trong các pipeline CI.

Selenium có đủ cho tự động hóa nhiều tài khoản không?

Selenium xử lý điều khiển trình duyệt, nhưng nó không cô lập dấu vết hoặc proxy. Đối với quy trình nhiều tài khoản, hãy kết hợp Selenium với trình duyệt chống phát hiện cung cấp các cấu hình riêng biệt, hoặc sử dụng API tự động hóa chuyên dụng. Xem hướng dẫn AdsPower và Python để có thiết lập cụ thể.

Kết luận

Một thiết lập Selenium đáng tin cậy phụ thuộc vào bốn điều: môi trường chạy ngôn ngữ phù hợp, trình duyệt và driver tương thích, công cụ build hoặc môi trường ảo, và một bài kiểm thử xác minh mà bạn thực sự chạy. Bắt đầu với Selenium Manager để xử lý driver, thêm chờ đợi rõ ràng sớm, và chỉ chuyển sang Grid hoặc Docker khi thực thi song song trở thành nhu cầu thực sự. Nếu tự động hóa của bạn chạm đến nhiều tài khoản trên cùng một nền tảng, hãy thêm lớp cô lập cấu hình trước khi mở rộng quy mô — thiết kế ngay từ đầu sẽ dễ dàng hơn nhiều so với việc trang bị thêm sau này.

AI INSIGHTS

Need a Quick Summary? Ask AI