| BUỔI 2: LOCATING ELEMENTS — CÁCH NHẮM MỤC TIÊU CHÍNH XÁC TRÊN TRANG WEB

Được viết bởi Đặng Trí Thanh vào ngày 24/03/2026 lúc 23:02 | 82 lượt xem

Làm thế nào để Selenium biết cần phải click vào nút nào giữa hàng nghìn thẻ HTML? Đó là lúc bạn cần đến kỹ năng Locating Elements. Đây là kỹ năng quan trọng nhất của một chuyên gia Automation: Tìm đúng — Click trúng.


1️⃣ Các Phương Thức Tìm Kiếm Cơ Bản

Selenium cung cấp nhiều cách để “chỉ điểm” một phần tử thông qua thuộc tính của nó.

  • ID: Sạch sẽ và nhanh nhất (vì ID là duy nhất). By.ID
  • Name: Thường dùng cho các ô nhập liệu trong Form. By.NAME
  • Class Name: Dùng khi muốn tìm các nhóm phần tử giống nhau. By.CLASS_NAME

2️⃣ Sức Mạnh Của XPath & CSS Selectors

Khi các thuộc tính cơ bản không đủ, chúng ta cần đến những “vũ khí hạng nặng” có khả năng len lỏi vào từng ngóc ngách của mã nguồn HTML.

  • XPath: Cực kỳ linh hoạt, có thể tìm ngược lên cha hoặc xuống con.
  • Ví dụ: //button[text()='Đăng nhập']
  • CSS Selectors: Tốc độ nhanh hơn và cú pháp gọn gàng hơn XPath trong nhiều trường hợp.
  • Ví dụ: .submit-button > span

3️⃣ Thực Hành: Soi Mã Nguồn Với F12

Bí quyết để viết code Automation giỏi không nằm ở Python, mà nằm ở việc bạn thạo công cụ Inspect Element (F12) của trình duyệt. Hãy học cách copy XPath hoặc CSS Selector một cách thông minh để script của bạn luôn ổn định.

# Ví dụ tìm phần tử bằng XPath
login_btn = driver.find_element(By.XPATH, "//button[@id='login']")
login_btn.click()

TỔNG KẾT BUỔI 2

Xác định đúng phần tử chiếm 70% thành công của một dự án Automation. Khi bạn đã “nhắm” được mục tiêu, việc ra lệnh tiếp theo sẽ trở nên vô cùng đơn giản. Trong buổi 3, chúng ta sẽ học cách thực hiện các tương tác phức tạp hơn như kéo thả, chọn dropdown hay tải file!


🎯 Tối ưu hóa quy trình làm việc tại: Hướng nghiệp Python – Automation

Đặng Trí Thanh

Đặng Trí Thanh

Giám đốc Công nghệ · DNT Digital · Giảng viên HNDL
1.344 Bài viết
15.4k Người theo dõi
120k+ Lượt đọc

Đặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.