2012-06-27 9 views
34

Tôi sẽ xem tài liệu về Selenium WebDriver và có thể điều khiển Chrome chẳng hạn. Tôi đã nghĩ, sẽ không hiệu quả hơn nhiều khi 'lái' PhantomJS?Có thể sử dụng Selenium WebDriver để lái PhantomJS không?

Có cách nào để sử dụng Selenium với PhantomJS không?

Mục đích sử dụng của tôi là xoá web: Trang web tôi đã tải bằng AJAX và rất nhiều JavaScript đáng yêu và tôi nghĩ thiết lập này có thể là sự thay thế tốt cho khung Python Scrapy mà tôi hiện đang làm việc .

+0

tôi nhận thấy có một lớp học nội 'PhantomJSDriver: RemoteWebDriver, ITakesScreenshot' nhưng bạn không thể tạo ra một thể hiện của nó (chưa) –

Trả lời

56

PhantomJS hiện bao gồm GhostDriver project.

Bạn cũng được đề xuất sử dụng PhantomJS trực tiếp hoặc với thư viện tiện lợi như CasperJS. CasperJS được thiết kế đặc biệt để làm cho nó dễ dàng để làm các hoạt động tuần tự cho các trang web, hoàn hảo cho nhiều nhiệm vụ tự động hóa.

Tuyên bố từ chối trách nhiệm: Tôi là tác giả của PhantomJS.

Chỉnh sửa: Như đã lưu ý trong câu trả lời của Nick, GhostDriver hiện được bao gồm trong PhantomJS.

+0

Oh wow Ariya trả lời, tôi đã đọc một số công cụ của bạn ngày khác, tôi thực sự khâm phục công việc của bạn. Đây là kinda awesome, anyways, nếu bạn không nhớ, whats cách tốt nhất để kết hợp PhantomJS/CasperJS vào một ứng dụng. Tôi đã nghĩ đến việc sử dụng Selenium vì tôi muốn toàn bộ chương trình lặp lại và chạy liên tục (thời gian thực của nó và hơi tương tác) Khi tôi đang chuyển sang tài liệu Phantom, tôi có ấn tượng đó là một công cụ dòng lệnh cho một lần sử dụng, và gọi nó từ python sẽ cho phép tôi biến nó thành một chương trình đầy đủ. Có lời khuyên nào không? – Joseph

+5

Bạn có thể lấy một số nguồn cảm hứng từ rất nhiều bài viết của người dùng PhantomJS (xem wiki). –

+0

wiki trống. Bất kỳ manh mối nào tôi có thể nhận được sự trợ giúp khi thực hiện công việc này với PHP? – Hippyjim

21

@Joseph, kể từ bản phát hành 1.8 GhostDriver được đưa vào bản phát hành ổn định của PhantomJS. Đây là ghi chú phát hành chính xác: http://phantomjs.org/release-1.8.html. Bạn chỉ có thể bắt đầu quá trình PhantomJS để lắng nghe trên một số cổng, như thế này:

phantomjs --webdriver=PORT 

Kudos để @detro và đội PhantomJS cho công việc tuyệt vời!