Hướng Dẫn Cài Đặt Selenium và Chromedriver Trên EC2 AWS
Bài viết này sẽ hướng dẫn bạn cách thiết lập Selenium với Chromedriver ở chế độ headless trên Amazon EC2 một cách chi tiết và hiệu quả. Điều này rất hữu ích cho các dự án tự động hóa kiểm thử web hoặc thu thập dữ liệu.
1. Yêu Cầu
Trước khi bắt đầu, bạn cần chuẩn bị:
- Một EC2 instance sử dụng AMI Amazon Linux 2023 hoặc Ubuntu.
- Quyền truy cập vào tài khoản root trong EC2 để thực hiện các lệnh
sudo
.
2. Cài Đặt
2.1 Cài Đặt Google Chrome
Đầu tiên, bạn cần cài đặt Google Chrome. Hãy chạy các lệnh sau:
bash
sudo curl https://intoli.com/install-google-chrome.sh | bash
sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome
2.2 Cài Đặt Python và Pip
Đối với demo trong bài viết này, chúng ta sẽ sử dụng Python với Selenium. Thông thường, máy EC2 đã có sẵn Python 3.9, bạn chỉ cần cài đặt pip
:
bash
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
Sau đó, bạn cài đặt các gói cần thiết:
bash
pip install urllib3==1.26.16
pip install selenium
2.3 Tạo Driver
Dưới đây là hướng dẫn tạo Selenium driver:
- Bước 1: Nhập thư viện cần thiết:
python
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
- Bước 2: Tạo các tùy chọn cho driver:
python
options = Options()
options.add_argument("--headless")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("--disable-infobars")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("window-size=1400,1500")
options.add_argument("start-maximized")
options.add_argument("enable-automation")
- Bước 3: Khởi tạo driver:
python
driver = webdriver.Chrome(options=options)
2.4 Kiểm Tra
Cuối cùng, bạn có thể thử nghiệm xem liệu mã có hoạt động không:
python
import time
driver.get("https://www.python.org")
time.sleep(3)
print(driver.title)
Chúc Mừng!
Chúc bạn thành công trong việc thiết lập Selenium và Chromedriver trên EC2. Hy vọng bài viết này sẽ hữu ích cho bạn và giúp bạn dễ dàng hơn trong việc thực hiện các dự án tự động hóa của mình! 🎉
source: viblo