Actions בסלניום היא מחלקה הנותנת לנו יכולות לבצע פעולות מורכבות יותר מלחיצה על כפתור או שליחת טקסט, בד"כ מדובר ברצף של פעולות שהתאגדו לכדי מתודה אחת, מתודה שממומשת כאמור במלחקת Actions, בדף זה נראה כמה שימושים שונים של Actions


Drag&Drop:

ניקח את האתר הרשמי של jQuey לדוגמא לשימוש ב-Drag&Drop ונפעיל עליו Actions עם ה-Webdriver:

 

public void Drag_Drop()
{
   driver.get("http://jqueryui.com/demos/droppable/");

   WebElement draggable = driver.findElement(By.id("draggable"));
   WebElement droppable = driver.findElement(By.id("droppable"));
   new Actions(driver).dragAndDrop(draggable, droppable).build().perform();
}

 

אופציה נוספת:

public void Drag_Drop()
{
   driver.get("http://jqueryui.com/demos/droppable/");
   Actions builder = new Actions(driver);
   Action dragAndDrop = builder.clickAndHold(someElement)
        .moveToElement(otherElement)
        .release(otherElement)
        .build();
   dragAndDrop.perform();
}

 



בחירה מרובה:

ניקח את האתר הרשמי של jQuey לדוגמא לשימוש בבחירה מרובה ונפעיל עליו Actions עם ה-Webdriver:

public void selectMultiple() throws InterruptedException
{
    driver.get("http://jqueryui.com/demos/selectable/");

    List listItems = driver.findElements(By
          .cssSelector("ol#selectable *"));

    Actions builder = new Actions(driver);
    builder.clickAndHold(listItems.get(1)).clickAndHold(listItems.get(2))
          .click();

    Action selectMultiple = builder.build();
    selectMultiple.perform();
}

 


 


Mouse Over:

ניקח את האתר של w3schools לדוגמא לשימוש ב Mouse Over ונפעיל עליו Actions עם ה-Webdriver:

public void selectMultiple() throws InterruptedException
{
    driver.get("http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_mouseover_mouseout");

    Actions builder = new Actions(driver);
    WebElement element = webdriver.findElement(By.cssSelector("p[stye='background-color: lightgray;']"));
    builder.moveToElement(we).moveToElement(webdriver.findElement(By.id("Some_ID"))).click().build().perform();
}

 


 


פס הגלילה (Scroll):

ניתן לגלול למטה את הדף עם webdriver בשני אופנים האחד לפי פרמטר של פיקסלים, כך:

int range = 500; // טווח הגלילה בפיקסלים
((JavascriptExecutor) driver).executeScript("window.scrollBy(0," + range + ")", ""); 

השני , עד שהאלמנט יופיע, כך:

WebElement element = driver.findElement(By.id("myID"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element); 

 


 


;קליק ימני של העכבר :

לשימוש בלחצן הימני של העכבר על אלמנט מסויים (בשביל נגיד לפתוח תפריט), נכניס את האקשן הבא:

WebElement elementToRightClick = driver.findElement(By.id("myID"));
Actions clicker = new Actions(driver);
clicker.contextClick(elementToRightClick).perform(); 

 


 


בחירת תת תפריט:

ישנם כמה מימושים לבחור תת תפריט, אתן פה אחת מהן:

WebElement subroot = driver.findElement(By.id("myID"));

builder.moveToElement(subroot).build().perform();
((JavascriptExecutor)driver).executeScript("document.getElementById('" + SubMenu + "').click();");

 


 


Double Click:

פונקציה מאוד פשוטה ללחיצה כפולה על העכבר:

WebElement doubleClickElement = driver.findElement(By.id("myID"));

Actions action = new Actions(driver);
  action.doubleClick(doubleClickElement);
  action.perform();

 


arrowBackarrowMainarrowFor

השאר הערה\הודעה