मैं अजगर और सलाद सेलेनियम webdriver उपयोग करने के साथ बुनियादी CRUD परीक्षण चल रहा हूँ।अजगर सेलेनियम UnexpectedAlertPresentException
मेरे अन्य परीक्षणों के सभी ठीक चलाने के लिए, लेकिन जब मैं "हटाएं", वहाँ एक मॉडल संवाद जो पुष्टि करते हैं कि वे उस उपयोगकर्ता को हटाना चाहते उपयोगकर्ता पूछता है। पॉपअप प्रकट होने के पल में, मुझे नीचे अपवाद मिलता है। मैंने इसे काम करने के लिए 2 घंटे बर्बाद कर दिया है। मुझे लगता है कि एक साधारण फिक्स है।
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 164, in check_response
raise exception_class(message, screen, stacktrace)
UnexpectedAlertPresentException: Message: u'Modal dialog present' ; Stacktrace:
at nsCommandProcessor.prototype.execute (file:///tmp/tmpeV2K89/extensions/[email protected]/components/command_processor.js:11520:13)
त्रुटि को फेंकने वाले steps.py में पंक्ति यह है।
world.browser.find_element_by_link_text("Delete User").click()
और उस तत्व के लिए HTML यह है।
<a href="https://stackoverflow.com/users/5910974510923776/delete" onclick="return confirm('Are you sure you want to delete this user?');">Delete User</a>
तो इसकी (जावा के रूप में) एक चेतावनी उपयोग 'd.switchTo() चेतावनी() स्वीकार();' (कृपया लगता है पायथन में बराबर बाध्यकारी)। यदि यह एक मॉडल संवाद है तो मुझे लगता है कि आप ठीक के लोकेटर को खोजने का प्रयास कर सकते हैं। –
@ विवेकसिंह यह सिर्फ 'driver.switch_to_alert.accept()' या यहां तक कि 'driver.switch_to.alert.accept()' है। मुझे दोनों मेहोड्स पर थोड़ा अंतर मिला है, इसलिए सोचा कि किसी के लिए संघर्ष करने वाले किसी के लिए सलाह देना महत्वपूर्ण है। वही बात 'driver.switch_to.window()' विधि पर लागू होती है। – erm3nda