2012-02-10 45 views
16

Gần đây tôi đã thừa hưởng một số mã Trình quản lý Web Selenium, được viết bằng Python 2.7. Nó đang đăng nhập một lượng dữ liệu phong phú vào/tmp trên Ubuntu - quá nhiều đến nỗi nó đang trở thành một vấn đề. Tôi đang cố tắt nó đi (hoặc ít nhất là xuống).Tắt ghi nhật ký trong Selenium (từ Python)

Tôi đã chạy quanh cố gắng RTFM, nhưng đây là phiên bản mới của Selenium (2.19.0) và các sách hướng dẫn chưa được viết!

Tôi có thể thấy có một phương pháp được gọi là set_browser_log_level(logLevel) có vẻ đầy hứa hẹn, nhưng để đạt được điều đó, tôi cần phải khởi tạo đối tượng selenium.selenium.selenium. Tôi không có cách nào khác phải khởi tạo một trong số này, và phải mất rất nhiều tham số (mà host? Cổng nào?) Mà tôi không mong đợi phải cung cấp.

Rõ ràng, tôi hiểu nhầm điều gì đó.

Ai đó có thể giải thích (a) cách tắt đăng nhập hoặc (b) dịch vụ nào là selenium.selenium.selenium.selenium.selenium (tôi có thể đã bị mang đi đó, xin lỗi!) Muốn nói chuyện với?


Câu hỏi liên quan: In Selenium, how do I turn off logging? Đây là phiên bản cũ hơn của Selenium và gọi nó là ngôn ngữ kịch bản, tôi tin tưởng.

+0

Tôi đã không đề cập đến: Một giải pháp hack tôi đã sử dụng là tạo một tệp rỗng có cùng tên trong thư mục tạm thời và xóa quyền. Selen vẫn hoạt động nhưng không đăng nhập. – Oddthinking

Trả lời

21

Đây là những gì đã giúp tôi vượt qua những vấn đề:

import logging 
from selenium.webdriver.remote.remote_connection import LOGGER 
LOGGER.setLevel(logging.WARNING) 

Lưu ý: mã này nên được đặt trước webdriver khởi tạo.

Hy vọng điều đó sẽ hữu ích.

+2

Đây là câu trả lời đúng. Câu trả lời ở trên, được chấp nhận là dựa vào những gì hiển thị trong nhật ký làm không gian tên, không phải cách thức hoạt động của mô đun ghi nhật ký. – uchuugaka

+1

Tôi đã sửa đổi mỏ thành 'từ selenium.webdriver.remote.remote_connection nhập LOGGER làm serverLogger' để tôi có thể đặt mức riêng biệt với mã của tôi khi cần. Cảm ơn!!! – uchuugaka

+0

@uchuugaka rất vui vì nó đã giúp! – alecxe

1

Bạn có sử dụng một số trình ghi nhật ký không? Tôi đã có một vấn đề rất giống nhau? tôi đã sử dụng log.basicConfig đơn giản, nhưng Selen cũng thực hiện điều này. Giải pháp của tôi là xác định logger của riêng tôi.

Có thể bạn in một số mẫu mã.

+1

Tôi cũng đang sử dụng logging.basicConfig, và có cùng một vấn đề, Selenium sử dụng giống nhau và bây giờ các thông điệp tường trình của nó tìm đường vào nhật ký của tôi (nhưng chỉ dành cho ưu tiên đăng nhập gỡ lỗi hoặc cao hơn). Ý bạn là bạn đã định nghĩa trình ghi nhật ký của riêng mình? Như trong, bạn không sử dụng mô-đun đăng nhập của Python và đã viết giải pháp ghi nhật ký của riêng bạn? Có lẽ bạn cũng có thể hiển thị một số mẫu mã? – Dennis

10
import logging 
selenium_logger = logging.getLogger('selenium.webdriver.remote.remote_connection') 
# Only display possible problems 
selenium_logger.setLevel(logging.WARNING) 
+2

không giúp ích gì cho tôi. – Serge

+1

Không hoạt động cho tôi hoặc là –

+0

không may mắn ở đây:/ – gh0st

Các vấn đề liên quan