2013-07-17 18 views
9

Tôi có trình quản trị web sử dụng selen sẽ mở trình duyệt cho tôi, trỏ đến địa chỉ ip, thực hiện một loạt các công cụ và đóng.Cách chụp lưu lượng truy cập trong python

Tôi muốn biết tất cả các url được truy cập trong thời gian này. Đó là, bất kỳ quảng cáo nào được tải, bất kỳ cuộc gọi css nào được tạo ra cho bất kỳ url nào và cứ tiếp tục như vậy.

Đây là im mã sử dụng

from selenium import webdriver 

browser = webdriver.Firefox(profile) # Get local session of firefox 
browser.get(url) # Open a url and wait for it to finish 
+0

Tôi nghĩ rằng đây là sự lừa đảo của http://stackoverflow.com/questions/3712278/selenium-rc-how-do-you-use-capturenetworktraffic-in-python (mặc dù tôi không chắc chắn rằng nó cung cấp cho bạn tất cả thông tin mà bạn muốn). Cũng có thể có liên quan: http://blog.qaevangelist.com/?p=317 –

+0

Đóng của nó. Nhưng tôi cần trình điều khiển web để nắm bắt lưu lượng truy cập. :( – Cripto

+1

@MarkAmery hmm, có vẻ như bài đăng bạn đã liên kết (stackoverflow.com/questions/3712278) sử dụng Selenium v1. Cripto và tôi tò mò làm thế nào để giám sát lưu lượng mạng trong Selenium v2. (Máy chủ proxy sẽ hoạt động, nhưng nó ' d tuyệt vời để tìm giải pháp được tích hợp vào Selenium v2) – solvingPuzzles

Trả lời

1

tôi đã làm nó bằng cách tải các plugin firefox Firebug và Netexport. Đầu tiên là một công cụ cho phép bạn xem tất cả các trao đổi thông tin, thứ hai cho phép để viết tất cả của nó trong một tập tin (phần mở rộng .har). Vì vậy, về cơ bản selenium phải tải các plugin, trang web và chờ thời gian bạn muốn, và khi nó đóng, bạn sẽ nhận được một tập tin với kết quả.

+1

Bạn có mã nào để chia sẻ không? – Shane

1

Đó không phải là giải pháp python .. Nhưng bạn có thể thêm trình cắm vào trình duyệt Firefox. Chúng tôi cần phải làm điều tương tự một năm trước. Chúng tôi sử dụng selen để mở trình duyệt và tất cả các giao diện người dùng và trong nền Fiddler đã bắt tất cả lưu lượng truy cập (http và https) .. Danh sách này cũng liệt kê tất cả JS CSS src và bạn có thể gỡ lỗi sau đó với thanh tra xem yêu cầu nào được gửi và phản hồi nào được nhận