DateTime के चयन के लिए, HTML5 में नीचे दिखाया गया एक नया नियंत्रण है।
ऊपर पृष्ठ पर यहाँ पहुँचा जा सकता है
अगर हम DateTime पिकर नियंत्रण के DOM को देखते हैं, तो दिनांक और समय दोनों के लिए केवल एक इनपुट बॉक्स होगा।
इसलिए इस प्रकार के नियंत्रण को संभालने के लिए पहले हम परिसीमन को अलग किए बिना तारीख भरेंगे, अर्थात यदि दिनांक 09/25/2013 है, तो हम इनपुट बॉक्स में 09252013 पास करेंगे। एक बार हो जाने के बाद, हम समय-समय पर 'टैब' दबाकर और समय भरकर ध्यान केंद्रित करेंगे।
अगर हमें 02:45 PM भरने की आवश्यकता है, तो हम इसे उसी इनपुट बॉक्स में '0245PM' पास करेंगे।
दिनांक के लिए कोड इस तरह दिखता है -
आयात java.util.ist;आयात java.util.concurrent.TimeUnit;आयात org.openqa.selenium.By;आयात org.openqa.selenium.Keys;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.chrome.ChromeDriver;आयात org.testng.annotations.Test;सार्वजनिक वर्ग DateTimePicker {@परीक्षासार्वजनिक शून्य दिनांक समय () {System.setProperty ("webdriver.chrome.driver", "chromedriver.exe");WebDriver ड्राइवर = नया ChromeDriver ();ड्राइवर।Driver.get ("http://demo.guru99.com/test/");// डेट टाइम पिकर कंट्रोल ढूंढेंWebElement dateBox = driver.findElement (By.xpath ("// form // input [@ name = 'bdaytime']"));// दिनांक को mm / dd / yyyy के रूप में 09/25/2013 के रूप में भरेंdateBox.sendKeys ("09252013");// समय क्षेत्र पर ध्यान केंद्रित करने के लिए टैब दबाएंdateBox.sendKeys (Keys.TAB);// समय दोपहर 02:45 बजेdateBox.sendKeys ("0245PM");}}
आउटपुट इस तरह होगा-
एक और कैलेंडर उदाहरण देखें। हम Telerik DateTimePicker नियंत्रण का उपयोग करेंगे। यहां पहुंचा जा सकता है
यहां अगर हमें महीना बदलने की जरूरत है, तो हमें कैलेंडर हेडर के बीच में क्लिक करना होगा।
इसी तरह अगर हमें वर्ष बदलने की आवश्यकता है तो हम इसे तारीख के अगले या पिछले लिंक पर क्लिक करके कर सकते हैं।
और अंत में समय बदलने के लिए हम ड्रॉपडाउन से सही समय का चयन कर सकते हैं (नोट: यहां समय 30 मिनट के अंतराल में चुना गया है। अर्थात, 12:00, 12:30, 1:00, 1:30 आदि)।
एक पूर्ण उदाहरण दिखता है-
आयात java.util.Calendar;आयात java.util.ist;आयात java.util.concurrent.TimeUnit;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.annotations.Test;सार्वजनिक वर्ग DatePicker {@परीक्षासार्वजनिक शून्य testDAtePicker () अपवाद {// DAte और समय टेक्स्टबॉक्स में सेट किया जाना हैस्ट्रिंग डेटाइम = "12/07/2014 2:00 PM";WebDriver ड्राइवर = नया FirefoxDriver ();Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("https://demos.telerik.com/kendo-ui/datetimepicker/index");ड्राइवर।// कैलेंडर खोलने के लिए बटनWebElement selectDate = driver.findElement (By.xpath ("// span [@ aria-control = 'datetimepicker_dateview']"));selectDate.click ();// बटन कैलेंडर में आगे बढ़ने के लिएअगले अगला')]"));// कैलेंडर हेडर के केंद्र में क्लिक करने के लिए बटनWebElement midLink = driver.findElement (By.xpath ("// div [@ id = 'datetimepicker_dateview'] // div [@ class = 'k-header'] // एक [होता है (@ वर्ग, 'k-nav- तेज')]"));// कैलेंडर में पिछले महीने स्थानांतरित करने के लिए बटनWebElement पिछला लिंक = Driver.findElement (By.xpath " prev ')] "));// केवल तिथि भाग प्राप्त करने के लिए दिनांक समय विभाजित करेंस्ट्रिंग date_dd_MM_yyyy [] = (dateTime.split ("") [0])। विभाजन ("/");// कैलंडर में सेट करने के लिए वर्तमान वर्ष और वर्ष के बीच वर्ष का अंतर प्राप्त करेंint yearDiff = Integer.parseInt (date_dd_MM_yyyy [2]) - Calendar.getInstance ()। get (Calendar.YEAR);midLink.click ();अगर (वर्षफल! = ०) {// अगर आपको अगले साल आगे बढ़ना हैअगर (वर्षफल> 0) {for (int i = 0; मैं" + i);nextLink.click ();}}// यदि आपको पिछले वर्ष चलना हैऔर यदि (वर्षफल <0) {for (int i = 0; मैं <(yearDiff * (- 1)); i ++) {System.out.println ("वर्ष डिफ ->" + i);पिछलालिंक। क्लिक करें ();}}}थ्रेड.स्लीप (1000);// सही एक का चयन करने के लिए कैलेंडर से सभी महीने प्राप्त करेंसूची list_AllMonthToBook = driver.findEelines (By.xpath ("// div [@ id = 'datetimepicker_dateview'] // तालिका // tbody // td ))] "));list_AllMonthToBook.get (Integer.parseInt (date_dd_MM_yyyy [1]) - 1) .click ();थ्रेड.स्लीप (1000);// सही चयन करने के लिए कैलेंडर से सभी तिथियां प्राप्त करेंसूची list_AllDateToBook = driver.findElements (By.xpath ("// div [@ id = 'datetimepicker_dateview']] // तालिका // tbody // td ))] "));list_AllDateToBook.get (Integer.parseInt (date_dd_MM_yyyy [0]) - 1) .click ();///समय के लिएWebElement selectTime = driver.findElement (By.xpath ("// span [@ aria-control = 'datetimepicker_timeview']"));// टाइम पिकर बटन पर क्लिक करेंselectTime.click ();// समय की सूची प्राप्त करेंसूचीबद्ध करें = 'विकल्प'] "));dateTime = dateTime.split ("") [1] + "" + dateTime.split ("") [2];// सही समय का चयन करें(WebElement webElement: allTime) {अगर (webElement.getText ()। equalsIgnoreCase (दिनांक समय)){{webElement.click ();}}}}
आउटपुट जैसा होगा