एक्शन क्लास में Selenium
⚡ स्मार्ट सारांश
एक्शन क्लास में Selenium यह ट्यूटोरियल एडवांस्ड यूजर इंटरेक्शन API के माध्यम से होवर, ड्रैग-एंड-ड्रॉप, राइट-क्लिक और कुंजी संयोजनों जैसे उन्नत कीबोर्ड और माउस इवेंट्स को हैंडल करता है। यह ट्यूटोरियल एक्शन और एक्शन क्लास, मुख्य मेथड्स और कई इंटरैक्शन को एक क्रम में जोड़ने का तरीका बताता है।

एक्शन क्लास में Selenium
एक्शन क्लास में Selenium यह कीबोर्ड और माउस इवेंट को संभालने के लिए एक अंतर्निहित सुविधा है। यह कंट्रोल कुंजी के साथ कई क्लिक, ड्रैग-एंड-ड्रॉप और कई अन्य कार्यों का समर्थन करता है। ये कार्य एडवांस्ड यूजर इंटरेक्शन एपीआई का उपयोग करके किए जाते हैं। Selenium वेबड्राइवर.
कीबोर्ड और माउस इवेंट को संभालना
विशेष कीबोर्ड और माउस इवेंट्स को हैंडल करने के लिए इसका उपयोग किया जाता है। उन्नत उपयोगकर्ता इंटरैक्शन API। इसमें शामिल है क्रियाएँ और कार्य इन इवेंट्स को निष्पादित करने के लिए आवश्यक क्लास। एक्शन क्लास द्वारा प्रदान किए जाने वाले सबसे अधिक उपयोग किए जाने वाले कीबोर्ड और माउस इवेंट नीचे सूचीबद्ध हैं।
| विधि | विवरण |
|---|---|
| दबाएं और पकड़े रहें() | वर्तमान माउस स्थान पर क्लिक (बिना छोड़े)। |
| संदर्भक्लिक() | वर्तमान माउस स्थान पर कॉन्टेक्स्ट-क्लिक (दायां क्लिक) करता है। |
| डबल क्लिक करें() | वर्तमान माउस स्थान पर डबल-क्लिक करता है। |
| dragAndDrop(स्रोत, लक्ष्य) | स्रोत तत्व पर क्लिक करके दबाए रखें, लक्ष्य तत्व पर जाएं, फिर माउस छोड़ दें। पैरामीटर: स्रोत (जिस तत्व पर क्लिक करना है), लक्ष्य (जिस तत्व पर माउस छोड़ना है)। |
| dragAndDropBy(स्रोत, x-ऑफ़सेट, y-ऑफ़सेट) | स्रोत तत्व पर क्लिक करके दबाए रखने से दिए गए ऑफ़सेट से गति होती है, फिर क्लिक छोड़ दें। पैरामीटर: स्रोत, xOffset (क्षैतिज), yOffset (ऊर्ध्वाधर)। |
| keyDown(संशोधक_कुंजी) | मॉडिफायर कुंजी को दबाए रखता है और उसे छोड़ता नहीं है, इसलिए बाद की क्रियाओं में यह मान लिया जाता है कि कुंजी दबी हुई है। पैरामीटर: एक मॉडिफायर कुंजी (Keys.ALT, Keys.SHIFT, या Keys.CONTROL)। |
| keyUp(modifier_key) | मॉडिफायर कुंजी को रिलीज़ करता है। पैरामीटर: एक मॉडिफायर कुंजी (Keys.ALT, Keys.SHIFT, या Keys.CONTROL)। |
| moveByOffset(x-ऑफ़सेट, y-ऑफ़सेट) | यह माउस को उसकी वर्तमान स्थिति (या 0,0) से दिए गए ऑफ़सेट द्वारा स्थानांतरित करता है। ऋणात्मक x बाईं ओर ले जाता है; ऋणात्मक y ऊपर की ओर ले जाता है। |
| moveToElement(टूएलिमेंट) | माउस को एलिमेंट के मध्य में ले जाता है। पैरामीटर: वह एलिमेंट जिस पर माउस ले जाना है। |
| मुक्त करना() | वर्तमान स्थान पर दबाए गए बाएं माउस बटन को छोड़ देता है। |
| sendKeys(onElement, वर्ण अनुक्रम) | किसी एलिमेंट को कीस्ट्रोक्स की एक श्रृंखला भेजता है। पैरामीटर: onElement (आमतौर पर एक टेक्स्ट फ़ील्ड), charsequence (भेजे जाने वाले कीस्ट्रोक्स)। |
निम्नलिखित उदाहरण में, हम इसका उपयोग करते हैं moveToElement() किसी एक पर होवर करने की विधि Mercury टूर टेबल की पंक्तियाँ।
ऊपर दिखाया गया सेल एक भाग है यह एक एलिमेंट है। जब इस पर माउस नहीं ले जाया जाता, तो इसका रंग #FFC455 (नारंगी) होता है। माउस ले जाने के बाद, सेल का रंग पारदर्शी हो जाता है और आसपास की टेबल की पृष्ठभूमि से मेल खाने लगता है।
चरण 1) आयात करें क्रियाएँ और कार्य कक्षाएं।
चरण 2) एक नया एक्शन ऑब्जेक्ट इन्स्टेन्सिएट करें.
चरण 3) चरण 2 से प्राप्त Actions ऑब्जेक्ट का उपयोग करके एक Action को इंस्टैंशिएट करें।
यहां हम का उपयोग करते हैं moveToElement() होम लिंक पर माउस ले जाने का तरीका। build() इस विधि को हमेशा अंत में कॉल किया जाता है ताकि सूचीबद्ध सभी क्रियाएं एक ही चरण में संकलित हो जाएं।
चरण 4) उपयोग perform() चरण 3 में डिज़ाइन किए गए एक्शन ऑब्जेक्ट को निष्पादित करने की विधि।
नीचे पूरा वेबड्राइवर कोड दिया गया है जो बैकग्राउंड कलर की जांच करता है। माउस ओवर से पहले और बाद का तत्व।
package newproject;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class PG7 {
public static void main(String[] args) {
String baseUrl = "https://demo.guru99.com/test/newtours/";
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement link_Home = driver.findElement(By.linkText("Home"));
WebElement td_Home = driver.findElement(By.xpath(
"//html/body/div/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr"));
Actions builder = new Actions(driver);
Action mouseOverHome = builder.moveToElement(link_Home).build();
String bgColor = td_Home.getCssValue("background-color");
System.out.println("Before hover: " + bgColor);
mouseOverHome.perform();
bgColor = td_Home.getCssValue("background-color");
System.out.println("After hover: " + bgColor);
driver.close();
}
}
नीचे दिए गए आउटपुट से पता चलता है कि माउस को उस पर ले जाने के बाद बैकग्राउंड का रंग पारदर्शी हो गया।
अनेक कार्यों की श्रृंखला का निर्माण
आप Action और Actions क्लास का उपयोग करके कई क्रियाएँ बना सकते हैं। श्रृंखला को समाप्त करने के लिए इस फ़ंक्शन का उपयोग करना न भूलें। build() विधि। नीचे दिए गए नमूना कोड पर विचार करें।
public static void main(String[] args) {
String baseUrl = "https://www.facebook.com/";
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement txtUsername = driver.findElement(By.id("email"));
Actions builder = new Actions(driver);
Action seriesOfActions = builder
.moveToElement(txtUsername)
.click()
.keyDown(txtUsername, Keys.SHIFT)
.sendKeys(txtUsername, "hello")
.keyUp(txtUsername, Keys.SHIFT)
.doubleClick(txtUsername)
.contextClick()
.build();
seriesOfActions.perform();
}





