how handle scroll bar selenium webdriver
यह ट्यूटोरियल स्क्रॉल बार्स, स्क्रॉल बार्स के प्रकार और सेलेनियम में स्क्रॉल बार को कैसे हैंडल करता है, इस बारे में बताता है:
स्क्रॉल पट्टी कंप्यूटर के प्रदर्शन के किनारे पर एक पतला लंबा खंड है। स्क्रॉल बार का उपयोग करके हम पूरी सामग्री देख सकते हैं या माउस की मदद से ऊपर-नीचे या बाएं-दाएं स्क्रॉल करते हुए पूरा पृष्ठ देख सकते हैं।
पहले, हमें कुछ शर्तों जैसे कि नॉब, ट्रैक और बटन्स को समझने के लिए उपयोग किया जाता है, जिन्हें स्क्रॉल बार के संदर्भ में उपयोग किया जाता है।
=> यहाँ सभी सेलेनियम ट्यूटोरियल की जाँच करें
जावा वस्तुओं की एक सरणी बनाते हैं
इस ट्यूटोरियल में, हम स्क्रॉल बार के प्रकारों के बारे में जानेंगे। हम HTML में स्क्रॉल बार को भी देखेंगे, सेलेनियम में स्क्रॉल बार को संभालने के लिए कोड के कार्यान्वयन को समझेंगे, और अंत में उन उदाहरणों / अनुप्रयोगों को जानेंगे जहां स्क्रॉल बार आमतौर पर उपयोग किए जाते हैं।
आप क्या सीखेंगे:
स्क्रॉल बार्स को समझना
नीचे की छवि 2 प्रकार के स्क्रॉल बार दिखाती है:
क्या घुंडी, ट्रैक, और बटन हैं
स्क्रॉल बार है बटन बार के दोनों सिरों पर जो आगे की ओर बटन और क्षैतिज स्क्रॉल बार के लिए बैकवर्ड बटन और वर्टिकल स्क्रॉल बार के लिए ऊपर और नीचे बटन हो सकता है।
दस्ता स्क्रॉल पट्टी का वह भाग जो चल सकने योग्य होता है। इसे क्षैतिज स्क्रॉल बार के लिए बाएं-दाएं और ऊर्ध्वाधर स्क्रॉल बार के लिए ऊपर-नीचे ले जाया जा सकता है।
धावन पथ स्क्रॉल पट्टी का वह भाग है जिस पर पूरी सामग्री को देखने के लिए नॉब को स्थानांतरित किया जा सकता है।
नीचे की छवि स्पष्ट रूप से अवधारणा की व्याख्या करती है:
(छवि स्रोत )
स्क्रॉल बार के प्रकार
मूल रूप से, 2 प्रकार के होते हैं:
- क्षैतिज स्क्रॉल पट्टी
- वर्टिकल स्क्रॉल बार
# 1) क्षैतिज स्क्रॉल बार
एक क्षैतिज स्क्रॉल पट्टी उपयोगकर्ता को विंडो की सभी सामग्री को देखने के लिए बाईं या दाईं ओर स्क्रॉल करती है।
उपरोक्त छवि लाल रंग में हाइलाइट की गई एक क्षैतिज स्क्रॉल पट्टी दिखाती है। हम देख सकते हैं कि स्क्रीन पर प्रदर्शित पूर्ण सामग्री को देखने के लिए स्क्रॉल बार को दाएं या बाएं घुमाया जा सकता है।
# 2) वर्टिकल स्क्रॉल बार
एक ऊर्ध्वाधर स्क्रॉल बार उपयोगकर्ता को विंडो पर संपूर्ण सामग्री देखने के लिए ऊपर-नीचे या इसके विपरीत स्क्रॉल करने देता है।
उपरोक्त छवि लाल रंग में हाइलाइट की गई एक वर्टिकल स्क्रॉल बार दिखाती है। हम देख सकते हैं कि स्क्रीन पर प्रदर्शित पूर्ण सामग्री को देखने के लिए स्क्रॉल बार को ऊपर से नीचे की ओर या इसके विपरीत ले जाया जा सकता है।
आमतौर पर, वेब पृष्ठों में बहुत अधिक सामग्री होती है और ऊर्ध्वाधर स्क्रॉल बार होने के अच्छे उदाहरण हैं।
ओएसआई मॉडल डिवाइस प्रत्येक परत का उपयोग करते हैं
HTML में स्क्रॉल बार
यह आमतौर पर विभिन्न वेबसाइटों, सिस्टम एप्लिकेशन और लगभग हर जगह उपयोग किया जाता है। यह उपयोगकर्ताओं को पृष्ठ पर सामग्री को पूरी तरह से ऊपर-नीचे या बाएँ-दाएँ स्क्रॉल करके देखने की अनुमति देता है।
नीचे की छवि एचटीएमएल में बनाई गई एक ऐसी मिसाल है:
उपरोक्त छवि के लिए निम्न Html कोड देखें:
Scroll Bar #text { width: 200px; height: 200px; border: 1px solid; font-size: 30px; overflow: scroll; text-align: center; } Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!
इस प्रकार, हम Html पृष्ठ को देख सकते हैं, जब एक ऊर्ध्वाधर स्क्रॉल पट्टी की मदद से नीचे और ऊपर की ओर स्क्रॉल किया जाता है तो पूरी सामग्री देखने योग्य होती है।
सेलेनियम में स्क्रॉल बार को संभालने के लिए कोड
सेलेनियम अलग-अलग तरीकों से स्क्रॉलिंग संचालन को संभालता है। विभिन्न विधियाँ निम्नानुसार हैं:
# 1) इन-बिल्ट स्क्रॉल विकल्प का उपयोग करके या एक्शन क्लास का उपयोग करके
नीचे दिए गए कार्यान्वयन कोड में दिखाए गए अनुसार इन-बिल्ट स्क्रॉल विकल्प का उपयोग करते हुए स्क्रॉलिंग को सेलेनियम में संभाला जा सकता है:
इन-बिल्ट स्क्रॉल विकल्पों का उपयोग करके स्क्रॉल बार का सिंटैक्स:
Actions act = new Actions(driver); //Object of Actions class act.sendKeys(Keys. PAGE_DOWN ).build().perform(); //Page Down act.sendKeys(Keys. PAGE_UP ).build().perform(); //Page Up
इन-बिल्ट स्क्रॉल विकल्प का उपयोग करके स्क्रॉल बार से निपटने के लिए कोड।
package SeleniumPrograms; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Actions; public class Scroll { public static void main(String() args) throws InterruptedException { WebDriver dr = new FirefoxDriver(); dr.manage().window().maximize(); dr.get('https://opensource-demo.orangehrmlive.com/'); //testing webpage WebElement uname = dr.findElement(By.id('txtUsername')); //username uname.sendKeys('Admin'); WebElement pwd = dr.findElement(By.name('txtPassword')); //password pwd.sendKeys('admin123'); WebElement login_button = dr.findElement(By.xpath('//input(@id='btnLogin')')); login_button.click(); //login button WebElement admin = dr.findElement(By.id('menu_admin_viewAdminModule')); admin.click(); WebElement job = dr.findElement(By.id('menu_admin_Job')); job.click(); WebElement jobtitle_link = dr.findElement(By.linkText('Job Titles')); jobtitle_link.click(); Actions act = new Actions(dr); act.sendKeys(Keys.PAGE_DOWN).build().perform(); //Page Down System.out.println('Scroll down perfomed'); Thread.sleep(3000); act.sendKeys(Keys.PAGE_UP).build().perform(); //Page Up System.out.println('Scroll up perfomed'); Thread.sleep(3000); } }
उपरोक्त प्रोग्राम कोड में, स्क्रॉलिंग का उपयोग करके सेलेनियम में संभाला जाता है कार्रवाई कक्षा। यह ड्राइवर को पास करके एक्शन क्लास की एक वस्तु बनाकर किया जाता है। साथ ही, हमने ऊपर की ओर स्क्रॉल करने के साथ-साथ डाउनवर्ड स्क्रॉलिंग के लिए इन-बिल्ट स्क्रॉल विकल्प का उपयोग देखा है।
उपरोक्त कोड का आउटपुट:
(छवि स्रोत )
इस प्रकार हम स्क्रॉल-डाउन और स्क्रॉल-अप ऑपरेशन को सेलेनियम वेबड्राइवर की मदद से इन-बिल्ट स्क्रॉल ऑप्शन का उपयोग करके देख सकते हैं। कार्रवाई कक्षा विधि।
# 2) JavascriptExecutor या Pixel द्वारा उपयोग करना
यह विधि पिक्सेल गणना का उल्लेख करके वेबपृष्ठ को स्क्रॉल करने में मदद करती है जिसके द्वारा हम ऊपर या नीचे स्क्रॉल करना चाहते हैं। नीचे पिक्सेल द्वारा स्क्रॉल करने या JavascriptExecutor का उपयोग करने के लिए कार्यान्वयन कोड है।
package SeleniumPrograms; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class ScrollBar { public static void main(String() args) throws InterruptedException { WebDriver dr = new FirefoxDriver(); dr.manage().window().maximize(); dr.get('https://opensource-demo.orangehrmlive.com/'); //testing webpage WebElement uname = dr.findElement(By.id('txtUsername')); //username uname.sendKeys('Admin'); WebElement pwd = dr.findElement(By.name('txtPassword')); //password pwd.sendKeys('admin123'); WebElement login_button = dr.findElement(By.xpath('//input(@id='btnLogin')')); login_button.click(); //loginbutton JavascriptExecutor js = (JavascriptExecutor)dr; js.executeScript('window.scrollBy(0,70)'); //Scroll Down(+ve) Thread.sleep(3000); System.out.println('Scrolled down..'); js.executeScript('window.scrollBy(0,-50)'); //Scroll Up (-ve) Thread.sleep(3000); System.out.println('Scrolled up..'); } }
उपरोक्त कोड का आउटपुट:
उपर्युक्त कोड में 70 (नीचे की ओर) उल्लिखित के अनुसार उपरोक्त छवि पिक्सेल मान द्वारा निष्पादित स्क्रॉल डाउन को दिखाती है। इसी तरह, स्क्रॉल अप ऑपरेशन को पिक्सेल मूल्य = -50 (यानी ऊपर की ओर) प्रदान करके किया जाता है।
नीचे दी गई छवि स्क्रॉल को दिखाती है (50 से):
इस प्रकार, इस पद्धति में, हमने JavascriptExecutor का उपयोग किया है और पिक्सेल मान प्रदान करके स्क्रॉल अप और प्रदर्शन किया है।
उदाहरण / अनुप्रयोग
स्क्रॉल पट्टियों के कई अनुप्रयोग या उदाहरण हैं। उनमें से कुछ नीचे वर्णित हैं:
# 1) एक्सेल फ़ाइलों में स्क्रॉल बार:
जैसा कि हम जानते हैं कि एक्सेल फ़ाइलों में बड़ी मात्रा में डेटा संग्रहीत होता है। एक पेज पर पूरी सामग्री को देखना मुश्किल हो जाता है। इसलिए, स्क्रॉल करने से उपयोगकर्ता को वर्तमान स्क्रीन पर मौजूद डेटा को देखने में मदद मिल सकती है।
उपयोगकर्ता कहानियां और स्वीकृति मानदंड कैसे लिखें
# 2) नोटपैड में स्क्रॉल करना
उपरोक्त छवि में, स्क्रॉल पट्टियों को क्षैतिज और लंबवत रूप से देखा जा सकता है, जो नोटपैड दस्तावेज़ में डेटा की पूरी दृश्यता प्रदान करता है।
# 3) ब्राउज़र में स्क्रॉल बार का उपयोग
डेटा पढ़ते समय हम ब्राउज़र स्क्रीन पर केवल आधा डेटा देख सकते हैं। स्क्रॉलिंग पूरे दृश्य के लिए आगे-पीछे और ऊपर-नीचे जाने में मदद करता है। इसलिए, क्षैतिज और ऊर्ध्वाधर स्क्रॉल पट्टियों का उपयोग करके संपूर्ण ब्राउज़र स्क्रीन की सामग्री देखी जा सकती है।
ऐसे कई और उदाहरण हैं जो उपयोगकर्ताओं को स्क्रीन पर प्रदर्शित पूर्ण डेटा को देखने में मदद करते हैं।
निष्कर्ष
इस ट्यूटोरियल में, हमने स्क्रॉल बार, उनके प्रकारों के बारे में सीखा है। हमने HTML पेज में स्क्रॉल बार बनाने और उपयोग करने के लिए भी देखा है
हमने सेलीनियम का उपयोग करके स्क्रॉल पट्टियों को संभालने के लिए कोड को लागू करने के तरीकों को समझा है यानी इन-बिल्ट स्क्रॉल विकल्प / एक्शन क्लास का उपयोग करके और पिक्सेल द्वारा जावास्क्रिप्ट का उपयोग करना / और कुछ अनुप्रयोगों के माध्यम से चला गया जहां स्क्रॉल बार आमतौर पर उपयोग किए जाते हैं।
=> पूरा सेलेनियम गाइड के माध्यम से पढ़ें
अनुशंसित पाठ
- सेलेनियम वेबड्राइवर में अलर्ट / पॉपअप कैसे हैंडल करें - सेलेनियम ट्यूटोरियल # 16
- सेलेनियम वेबड्राइवर का उपयोग करके फ़ाइल कैसे अपलोड करें - 3 विधियाँ
- सेलेनियम वेबड्राइवर में रेडियो बटन का चयन कैसे करें?
- अलग-अलग लोकप्रिय ब्राउज़रों में सेलेनियम वेबड्राइवर कैसे चलाएं
- सेलेनियम वेबड्राइवर स्विचटॉ () विधि का उपयोग करके iFrames को संभालना
- गाइड सेलेनियम वेबड्राइवर में अत्यधिक रिपोर्ट उत्पन्न करने के लिए
- सेलेनियम वेबड्राइवर में डायनामिक XPath के लिए एक्सपीथ एक्सिस
- सेलेनियम वेबड्राइवर के साथ जेनकिंस का एकीकरण: चरण-दर-चरण ट्यूटोरियल