कभी कभी, मेरी स्क्रिप्ट के बीच में, मेरे webdriver उदाहरण सिर्फ मर जाएगा!अजगर सेलेनियम webdriver - चालक अचानक "मर जाता है" और छोड़ नहीं कर सकते, current_url मिलता है, खुले पृष्ठों
और इसके बाद से, मैं इसके किसी भी तरीके का आह्वान नहीं कर सकता।
कुछ उदाहरण:
>>> spsel.driver.current_url
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 414, in current_url
return self.execute(Command.GET_CURRENT_URL)['value']
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 151, in execute
response = self.command_executor.execute(driver_command, params)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/remote_connection.py", line 280, in execute
return self._request(url, method=command_info[0], data=data)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/remote_connection.py", line 321, in _request
response = opener.open(request)
File "/usr/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>
>>> spsel.driver.quit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/firefox/webdriver.py", line 55, in quit
RemoteWebDriver.quit(self)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 443, in quit
self.execute(Command.QUIT)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 151, in execute
response = self.command_executor.execute(driver_command, params)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/remote_connection.py", line 280, in execute
return self._request(url, method=command_info[0], data=data)
File "/usr/local/lib/python2.6/dist-packages/selenium/webdriver/remote/remote_connection.py", line 321, in _request
response = opener.open(request)
File "/usr/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>
कोई भी विचार क्यों इस मामले हो सकता है? पर काबू पाने के लिए कोई भी सर्वोत्तम अभ्यास समाधान?
मैं कभी कभी एक कोशिश ब्लॉक में driver.current_url
से जीवंतता के लिए परीक्षण के बारे में सोच रहा हूँ, और अगर यह एक अपवाद फेंकता है, तो None
के लिए ड्राइवर की स्थापना, और फिर इसे फिर से instantiating ... लेकिन यह एक बदसूरत हैक है और मैं समझ में नहीं आता क्यों इसकी आवश्यकता है।
इसे और अधिक समझ बनाने के वेब सर्वर के कोड को देखने के लिए होता है कि इस कोड द्वारा जाँच की जानी चाहिए:
इस अंतिम परिणाम कैसा दिखाई देता है है। "कनेक्शन से इंकार कर दिया गया" स्पष्ट रूप से बताता है कि अब कोई भी नहीं सुन रहा है, या ऐसा कोई नियम है जो श्रोता को शामिल होने से रोकता है ... –
बैकएंड इंजीनियरिंग विभाग के अनुसार, वेब सर्वर ठीक है और स्वचालित रूप से उपयोगकर्ताओं को डिस्कनेक्ट नहीं करता है । मुझे लगता है कि यह एक सेलेनियम बग है? –
आपका सेलेनियम संस्करण क्या है? क्या ब्राउज़र? क्या यह सभी ब्राउज़रों के साथ होता है? क्या आप प्रॉक्सी के पीछे हैं? क्या आपका यूआरएल सही ढंग से बनाया गया है? – nilesh