Selenium với Chromedriver trên EC2
Bài viết hướng dẫn cho mọi người (và cả mình trong tương lai) về cách setup selenium với chromedriver headless một cách hiệu quả trên AWS EC2 instance.
1. Requirements
- EC2 instance với AMI Amazon Linux 2023 hoặc Ubuntu
- Root account access vào EC2 đã có, để chạy
sudo
2. Thực hiện
- Cài đặt google-chrome:
sudo curl https://intoli.com/install-google-chrome.sh | bash
sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome
- Do use case demo ở đây mình sẽ sử dụng Python với Selenium, các driver khác các bạn setup tương tự nhé! Cài đặt trọn gói như sau:
Thường thì máy linux (EC2) sẽ có sẵn python3.9 nên không cần cài python mà chỉ cần cài
pip
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
pip install urllib3==1.26.16
pip install selenium
-
Tạo driver theo hướng dẫn dưới đây: (recommended)
- Import thư viện:
from selenium.webdriver.chrome.options import Options from selenium import webdriver
- Tạo các options như sau:
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")
- Import thư viện:
driver = webdriver.Chrome(options=options)
- Test thử coi work không:
import time driver.get("https://www.python.org") time.sleep(3) print(driver.title)
Chúc các bạn thành công 🎉
All rights reserved