Theo mặc định, ChromeDriver chỉ ghi lại cảnh báo/lỗi trong stderr. Khi gỡ lỗi, bạn nên bật tính năng ghi nhật ký chi tiết hơn.
Để bật tính năng ghi nhật ký chi tiết, bạn chỉ cần chuyển --verbose
đến máy chủ chromedriver.
Bạn cũng có thể truyền --log-path
để ghi nhật ký vào một tệp thay vì ghi stderr. Nếu không tự khởi động trực tiếp máy chủ chromedriver, bạn cần chuyển nút chuyển qua thư viện ứng dụng WebDriver. Rất tiếc, một số ứng dụng chưa có lựa chọn này.
Khi chuyển --log-path
vào lệnh khởi chạy Chrome, thông báo lỗi trên Chrome Linux và Mac sẽ được lưu trong tệp nhật ký. Tuy nhiên, stderr trên Windows không được lưu vì Chrome là một ứng dụng GUI và hệ điều hành không cho phép ứng dụng kế thừa tên người dùng stderr từ ChromeDriver. Để lưu stderr trên Windows, Linux và Mac, bạn có thể sử dụng biến môi trường CHROME_LOG_FILE
và tệp sẽ chỉ chứa nhật ký từ Chrome. Nếu bạn chỉ định logPath trong ChromeOptions, ChromeDriver sẽ sao chép giá trị của luồng này vào CHROME_LOG_FILE
.
Cả stderr và stdout đều không được ghi lại trên Android. Mã stdout sẽ chuyển đến cửa sổ bảng điều khiển trên tất cả các nền tảng.
C#
var service = ChromeDriverService.CreateDefaultService();
service.LogPath = "D:\\chromedriver.log";
service.EnableVerboseLogging = true;
driver = new ChromeDriver(service);
Có phiên bản nạp chồng của cả hai hàm, hãy xem tài liệu về API.
Java
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
Python
driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", service_args=["--verbose", "--log-path=D:\\qc1.log"])
Tất cả ngôn ngữ
Khởi động trình điều khiển chrome trong dấu nhắc/cửa sổ dòng lệnh với tính năng ghi nhật ký chi tiết bằng các cờ:
--verbose --log-path=chromedriver.log
Chạy kiểm thử bằng RemoteWebDriver tại http://localhost:9515.