Các chức năng thường dùng khi sử dụng Selenium Chrome trong Python
Bài viết giới thiệu các chức năng thường dùng khi sử dụng Selenium với Chrome trong Python, giúp tự động hóa các tác vụ như tìm kiếm, tương tác với các phần tử trên trang web, và điều hướng trình duyệt.
Selenium là công cụ mạnh mẽ trong việc tự động hóa các tác vụ trên trình duyệt web. Khi sử dụng Selenium với Chrome trong Python, bạn có thể thực hiện nhiều chức năng như mở trang web, nhấp chuột, nhập liệu, chụp màn hình, và nhiều hơn thế. Bài viết sẽ liệt kê các chức năng thường dùng nhất.
Các chức năng thường dùng với Selenium Chrome trong Python:
-
Khởi tạo WebDriver
from selenium import webdriver from selenium.webdriver.chrome.service import Service # Khởi tạo WebDriver cho Chrome service = Service('/path/to/chromedriver') driver = webdriver.Chrome(service=service)
-
Mở trang web
driver.get('https://www.example.com')
-
Tìm phần tử trên trang web
element = driver.find_element('name', 'q') # Tìm theo tên
-
Nhập liệu vào ô tìm kiếm
element.send_keys('Python Selenium')
-
Nhấp chuột vào phần tử
button = driver.find_element('id', 'submit') button.click()
-
Chờ đợi tải trang hoặc phần tử xuất hiện
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # Chờ cho đến khi phần tử xuất hiện element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, 'myElement')) )
-
Chụp màn hình trang web
driver.save_screenshot('screenshot.png')
-
Điều hướng trang web
driver.back() # Quay lại trang trước driver.forward() # Tiến tới trang sau driver.refresh() # Tải lại trang
-
Lấy tiêu đề của trang
title = driver.title
-
Đóng trình duyệt
driver.quit() # Đóng tất cả cửa sổ trình duyệt và kết thúc WebDriver
- Lấy URL hiện tại
current_url = driver.current_url
- Lấy nội dung trang (Page Source)
page_source = driver.page_source
- Xử lý các cửa sổ (tabs) mới
driver.switch_to.window(driver.window_handles[1])
- Cuộn xuống cuối trang
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Giải thích chi tiết từng chức năng:
- Khởi tạo WebDriver: Bắt đầu quá trình điều khiển trình duyệt Chrome thông qua Selenium WebDriver.
- Mở trang web: Điều hướng đến URL của trang web mong muốn.
-
Tìm phần tử trên trang: Lấy phần tử HTML trên trang bằng nhiều phương pháp như
name
,id
,class name
. - Nhập liệu vào ô tìm kiếm: Gửi chuỗi ký tự vào các ô nhập liệu.
- Nhấp chuột vào phần tử: Mô phỏng hành động nhấp chuột vào các nút, liên kết.
- Chờ đợi phần tử xuất hiện: Chờ đợi một cách tường minh cho đến khi phần tử xuất hiện, giúp xử lý các tình huống trang tải chậm.
- Chụp màn hình: Lưu ảnh chụp màn hình của trang web hiện tại.
- Điều hướng: Quay lại trang trước, tiến tới trang sau, hoặc tải lại trang hiện tại.
- Lấy tiêu đề trang: Lấy tiêu đề của trang web hiện tại.
- Đóng trình duyệt: Đóng cửa sổ trình duyệt và kết thúc phiên WebDriver.
- Lấy URL hiện tại: Lấy URL của trang hiện tại.
- Lấy nội dung trang: Truy xuất toàn bộ mã nguồn HTML của trang.
- Xử lý các cửa sổ mới: Chuyển đổi giữa các tab hoặc cửa sổ mới trong trình duyệt.
- Cuộn xuống cuối trang: Cuộn trang web xuống cuối để tải các phần tử chưa hiển thị.
Yêu cầu hệ thống:
- Python 3.x
- Thư viện Selenium (
pip install selenium
) - ChromeDriver tương ứng với phiên bản Chrome của bạn.
Cách cài đặt các thư viện:
Để cài đặt Selenium và ChromeDriver:
- Cài đặt Selenium bằng pip:
pip install selenium
- Tải về và cài đặt ChromeDriver từ ChromeDriver Download.
Lời khuyên:
- Đảm bảo rằng phiên bản ChromeDriver phù hợp với phiên bản trình duyệt Chrome bạn đang sử dụng.
- Khi thao tác với các trang web có tốc độ tải chậm, bạn nên sử dụng
WebDriverWait
để tránh các lỗi do phần tử chưa kịp tải.