2016-03-06 8 views
8

मैं इस कार्रवाई का उपयोग कर एक पाठ क्षेत्र खाली करने के लिए कोशिश कर रहा हूँ में वापस अंतरिक्ष कुंजी का उपयोग:स्पष्ट पाठ क्षेत्र DELETE या webdriver

emailField.sendKeys("gmail.com"); 
emailField.sendKeys(Keys.CONTROL,"a",Keys.DELETE); 

उपरोक्त कोड में, अंतिम पंक्ति केवल पाठ का चयन करता है, वह हटता नहीं है, लेकिन अगर मैं कार्यों को अलग करता हूं तो यह काम करता है।

emailField.sendKeys(Keys.CONTROL,"a"); 
emailField.sendKeys(Keys.DELETE); 

उत्तर

6

JavaDoc से WebElement.clear() के लिए:

यह तत्व एक पाठ प्रविष्टि तत्व है

तो यह मान साफ ​​हो जाएगा। अन्य तत्वों पर कोई प्रभाव नहीं पड़ता है। टेक्स्ट एंट्री तत्व INPUT और टेक्स्टटेरा तत्व हैं। ध्यान दें कि इस घटना द्वारा निकाले गए ईवेंट नहीं हो सकते हैं जैसा आप चाहते हैं। विशेष रूप से, हम किसी भी कीबोर्ड या माउस घटनाओं को आग नहीं देते हैं। यदि आप यह सुनिश्चित करना चाहते हैं कि कीबोर्ड ईवेंट निकाल दिए गए हैं, पर sendKeys(CharSequence) जैसे बैकस्पेस कुंजी के साथ कुछ उपयोग करें। पर सुनिश्चित करें कि आपको एक परिवर्तन ईवेंट प्राप्त हो, टैब कुंजी के साथ sendKeys(CharSequence) पर कॉल के साथ निम्नलिखित पर विचार करें।

सबसे अधिक संभावना आप बस कॉल करने की आवश्यकता:

emailField.sendKeys("gmail.com"); 
emailField.clear(); 

लेकिन अगर आप समाशोधन की जरूरत है किसी कारण के लिए कीबोर्ड के माध्यम से किया जाना है, बैकस्पेस का उपयोग करें।

+5

बैकस्पेस कुंजी के रूप में "\ ख" (http://stackoverflow.com/questions/6448257/selenium-delete-contents-from-a-textbox/22603085#22603085 से) –

+0

काम नहीं करता लिखा है मेरे लिए आईई 11 में (बस कुछ भी नहीं करता है)। – Christian

7

keys.DELETE इनपुट टेक्स्ट को हटाने के लिए काम नहीं कर सकता है, तो आपको चाबियाँ का उपयोग करना चाहिए। बैकस्पेस।

emailField.sendKeys(Keys.BACKSPACE) 
संबंधित मुद्दे