Published on

Set Up Selenium

Mục lục


Chrome

Đảm bảo bạn đã cài đặt phiên bản phù hợp của ChromeDriver cho trình duyệt Chrome của bạn. Phiên bản của ChromeDriver nên phù hợp với phiên bản của Chrome bạn đã cài đặt. Bạn có thể tải ChromeDriver từ trang web chính thức: https://sites.google.com/chromium.org/driver/

config.py
from selenium import webdriver

# Chỉ định đường dẫn đến tệp thực thi ChromeDriver (cập nhật với đường dẫn thực tế của bạn)
duong_dan_chromedriver = '/duong/dan/to/chromedriver'

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# Tạo một đối tượng WebDriver với tùy chọn và đường dẫn tệp thực thi đã chỉ định
driver = webdriver.Chrome(executable_path=duong_dan_chromedriver, options=options)
  1. --headless: Tùy chọn này cho phép chạy trình duyệt Chrome trong chế độ headless, nghĩa là trình duyệt sẽ không có giao diện người dùng đồ họa. Điều này thường được sử dụng trong việc tự động hóa và kiểm thử web, giúp tiết kiệm tài nguyên máy tính và làm cho quá trình chạy nhanh hơn.

  2. --no-sandbox: Tùy chọn này vô hiệu hóa chế độ "sandbox" của Chrome, giúp tránh những rủi ro bảo mật. Tuy nhiên, bạn cần thận trọng khi sử dụng tùy chọn này, vì nó có thể làm giảm mức bảo mật của trình duyệt.

  3. --disable-dev-shm-usage: Tùy chọn này vô hiệu hóa việc sử dụng "tmpfs" (hệ thống tệp tạm thời) cho bộ nhớ chia sẻ /dev/shm trong Chrome. Điều này có thể giúp giảm sử dụng bộ nhớ khi chạy Chrome trong chế độ headless.

Khi bạn đã thiết lập các tùy chọn này và tạo đối tượng WebDriver với chúng, bạn có thể sử dụng đối tượng driver để tự động hóa các thao tác trên trình duyệt Chrome mà không cần hiển thị giao diện người dùng.

Colab

Nếu bạn sử dụng Colab hoặc Azure AI, bạn có thể sử dụng ChromeDriver mà không cần cài đặt nó một cách riêng lẻ. Colab đã được cấu hình sẵn để hoạt động với ChromeDriver.

config.py
!apt update
!apt install chromium-chromedriver
!pip install selenium

# set options to be headless, ..

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# open it, go to a website, and get results
driver = webdriver.Chrome(options=options)