Tôi đang chạy trong chế độ phantomjs WebDriver từ xa với phantomjs --webdriver 8910
và sau đó nhận được nhiều trang sử dụng các ràng buộc Selenium python với một cái gì đó như:Hạn chế sử dụng bộ nhớ của các phantomj bằng cách sử dụng selenium webdriver?
wd = webdriver.PhantomJS(port=8910)
for url in big_url_list:
wd.get(url)
# do something here, e.g. wd.save_screenshot or print wd.page_source
wd.quit()
Các wd.quit()
dường như không làm gì cả. Giám sát quá trình với các chương trình hàng đầu cho thấy việc sử dụng bộ nhớ của quá trình phantomjs tiếp tục tăng khi có nhiều trang được truy xuất. Nếu tôi khởi động lại quá trình phantomjs, thì việc sử dụng bộ nhớ giảm xuống thấp và bắt đầu lại tăng lên một cách ổn định.
close method mentioned in the phantomjs docs có vẻ đầy hứa hẹn, nhưng tôi không thấy cách nào để gọi điều đó qua số WebDriver protocol.
Có (i) cách để sử dụng bộ nhớ ảo khi thực hiện nhiều yêu cầu hay (ii) một cách đáng tin cậy để theo dõi và định kỳ khởi động lại quá trình phantomjs sao cho bộ nhớ không bị mất?