Mô tả
PhantomJS là headless browser (đã ngừng phát triển từ 2018). Bài viết này mang tính tham khảo lịch sử. Hiện nay khuyên dùng Chrome/Firefox headless mode.
Cách cũ với PhantomJS
from selenium import webdriver
# PhantomJS executable path
driver = webdriver.PhantomJS(executable_path=r"C:\phantomjs.exe")
driver.maximize_window()
driver.get("https://www.tutorialspoint.com")
# Set window size
driver.set_window_size(800, 880)
# Get window size
size = driver.get_window_size()
print(f"Window size: {size}") # {'width': 800, 'height': 880}
driver.quit()
Cách hiện đại: Chrome/Firefox Headless (Khuyên dùng)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
chrome_options = Options()
chrome_options.add_argument("--headless") # Chạy ẩn
chrome_options.add_argument("--window-size=1920,1080") # Set size
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=chrome_options
)
driver.get("https://www.tutorialspoint.com")
print(f"Window size: {driver.get_window_size()}")
# Có thể thay đổi size runtime
driver.set_window_size(1280, 720)
print(f"New size: {driver.get_window_size()}")
driver.quit()
So sánh
| Đặc điểm | PhantomJS (Deprecated) | Chrome Headless |
|---|---|---|
| Trạng thái | Ngừng phát triển 2018 | Đang phát triển tích cực |
| Engine | WebKit cũ | Blink (Chrome engine) |
| Hỗ trợ JS hiện đại | Kém | Tuyệt vời |
| Set window size | set_window_size() | set_window_size() hoặc args |
Khuyến nghị: Chuyển sang Chrome/Firefox headless mode cho mọi dự án mới.