I want to move slider on left side of slider-bar. However, selenium webdriver moves it to right side but it does not move to left side. I want to move slider to 25% of total width of slider-bar. I am using below given code with java 1.8 with selenium 2.44. I have tried all the option using up,down,left,right arrow key but still not able to achieve it.
I would appreciate your inputs.
package RandD; 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.Action; import org.openqa.selenium.interactions.Actions; public class test{ static WebDriver driver; public static void main(String[] args) { driver = new FirefoxDriver(); driver.get("http://jqueryui.com/slider/"); driver.switchTo().frame(0); slider(); } public static void slider(){ WebElement slider = driver.findElement(By.id("slider")); int width=slider.getSize().getWidth(); Actions move = new Actions(driver); org.openqa.selenium.interactions.Action action = move.dragAndDropBy(slider, ((width*25)/100), 0).build(); action.perform(); System.out.println("Slider moved"); } }
Advertisement
Answer
Well, I was not able to move the slider using all the possible option using dragAndDropBy and clickAndHold. However, using below snippet I was able to move slider to exact location of slid-bar. I am still wondering what was wrong in above code which does not move the slider to exact location as I was expecting.
you can set choose value of X is any its depends of width of your slider and if you use for loop to drag pointer on multiple position
public static void slider(){ x=10; WebElement slider = driver.findElement(By.id("slider")); int width=slider.getSize().getWidth(); Actions move = new Actions(driver); move.moveToElement(slider, ((width*x)/100), 0).click(); move.build().perform(); System.out.println("Slider moved"); }