2012-02-10 14 views
16

मैंने हाल ही में पाइथन 2.7 में लिखे गए कुछ सेलेनियम वेबड्राइवर कोड को विरासत में मिला है। यह उबंटू पर डेटा की भारी मात्रा में लॉग इन कर रहा है - इतना है कि यह एक समस्या बन रहा है। मैं इसे बंद करने की कोशिश कर रहा हूं (या कम से कम नीचे)।सेलेनियम (पायथन से) में लॉगिंग बंद करना

मैं आरटीएफएम की कोशिश कर रहा हूं, लेकिन यह सेलेनियम (2.1 9.0) का एक नया संस्करण है और मैनुअल अभी तक लिखे गए नहीं हैं!

मैं देख सकता हूँ वहाँ एक तरीका है set_browser_log_level(logLevel) कहा जाता है जो होनहार लग रहा है, लेकिन यह करने के लिए प्राप्त करने के लिए, मैं एक selenium.selenium.selenium वस्तु का दृष्टांत की जरूरत है। मुझे अन्यथा इनमें से किसी एक को तुरंत चालू नहीं करना है, और इसमें बहुत सारे पैरामीटर (जो होस्ट करते हैं? क्या बंदरगाह?) है कि मुझे प्रदान करने की उम्मीद नहीं है।

स्पष्ट रूप से, मैं कुछ गलत समझ रहा हूं।

क्या कोई कृपया या तो (ए) लॉगिंग को बंद करने के तरीके को समझा सकता है, या (बी) यह सेवा क्या है कि selenium.selenium.selenium.selenium.selenium (मुझे वहां ले जाया गया है, क्षमा करें!) चाहता है से बात?


संबंधित प्रश्न: In Selenium, how do I turn off logging? यह सेलेनियम के एक पुराने संस्करण है, और पटकथा भाषा से यह बुला, मेरा मानना ​​है।

+0

मैंने उल्लेख नहीं किया: एक हैक समाधान जिसका उपयोग मैंने किया था, अस्थायी निर्देशिका में एक ही नाम की एक खाली फ़ाइल बनाने और अनुमतियों को हटाने के लिए था। सेलेनियम अभी भी काम किया लेकिन लॉग नहीं किया। – Oddthinking

उत्तर

21

यहाँ मुझे मदद की समस्या को दूर करने के लिए।

उम्मीद है कि मदद करता है।

+2

द्वारा उत्तर देखें यह सही उत्तर है। उपर्युक्त, स्वीकृत उत्तर लॉग इन में नामस्थान के रूप में दिखाई देने पर निर्भर करता है, लॉगिंग मॉड्यूल कैसे काम करता है। – uchuugaka

+1

मैंने 'selenium.webdriver.remote.remote_connection आयात LOGGER से सर्वर लॉगर' के रूप में मेरा नाम संशोधित किया ताकि मैं आवश्यकतानुसार अपने कोड से स्तर को अलग से सेट कर सकूं। धन्यवाद!!! – uchuugaka

+0

@uchuugaka खुशी है कि यह मदद की! – alecxe

1

क्या आप कुछ लॉगर का उपयोग करते हैं? मेरे पास एक बहुत ही समान मुद्दा था? मैंने एक साधारण लॉगिंग का उपयोग किया। बेसिक कॉनफिग, लेकिन सेलेनियम यह भी करता है। मेरा समाधान मेरा खुद का लॉगर परिभाषित करना था।

शायद आप कुछ कोड नमूने प्रिंट करते हैं।

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

नोट: इस कोड webdriver सक्रियण से पहले रखा जाना चाहिए

+1

मैं logging.basicConfig का भी उपयोग कर रहा हूं, और एक ही समस्या है, सेलेनियम वही उपयोग करता है और अब इसके लॉग संदेश मेरे लॉग में अपना रास्ता खोजते हैं (लेकिन केवल डीबग या उच्चतर की लॉगिंग प्राथमिकता के लिए)। आपका मतलब क्या है कि आपने अपना खुद का लॉगर परिभाषित किया है? जैसा कि आपने पाइथन के लॉगिंग मॉड्यूल का उपयोग नहीं किया है और अपना लॉगिंग समाधान लिखा है? शायद आप कुछ कोड नमूने भी दिखा सकते हैं? – Dennis

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

ने मेरे लिए मदद नहीं की। – Serge

+1

मेरे लिए काम नहीं किया –

+0

कोई भाग्य यहां नहीं:/ – gh0st

संबंधित मुद्दे