2012-02-09 17 views
8

Tôi có một tập lệnh python sử dụng selenium RC; cụ thể webdriver.Có thể chạy tập lệnh Selenium mà không cần chạy máy chủ X không?

Tôi rất muốn chạy tập lệnh dưới dạng móc hậu sau, lý tưởng thông qua IE, Safari (nếu có thể), Chrome & Firefox.

Nhưng tôi không chắc chắn những gì tôi cần phải làm, vì mỗi khi tôi chạy nó trên máy địa phương của tôi, một trình duyệt bật lên.

Tôi đã nghe nói về "saucelabs". Đó có phải là giải pháp tốt nhất?

+0

Tôi đã đấu tranh với điều này một thời gian trước, vì vậy tôi sẽ chia sẻ giải pháp của tôi - cài đặt Selenium và xvfb trên Ubuntu Server: https://www.namekdev.net/2016/08/selenium-server-without-x -window-system-xvfb / – Namek

Trả lời

11

Có, bạn cần có máy chủ X đang chạy vì Selenium yêu cầu trình duyệt đang chạy và trình duyệt cần một số loại máy chủ X để chạy.

May mắn thay có nhiều loại máy chủ X và một trong số chúng là Xvfb còn gọi là bộ đệm khung ảo X thực hiện tất cả các thao tác trong bộ nhớ và do đó không yêu cầu màn hình.

Wikipedia cũng có một số nice examples.

Ngoài ra, có rất nhiều câu hỏi ở đây trên SO cho từ khóa headless, xvfbselenium. Chọn một cách khôn ngoan;)

[Chỉnh sửa]: Here's a nice example.