如何在Selenium WebDriver中滑动{move}滑块 [英] How to slide{move} slider in Selenium WebDriver

查看:1355
本文介绍了如何在Selenium WebDriver中滑动{move}滑块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在水平进度条上滑动滑块 网址: http://jqueryui.com/slider/ 我试图滚动滑块,但对我不起作用.我使用Java的代码如下:

How to slide slider on horizontal progress bar URL: http://jqueryui.com/slider/ I tried to scroll the slider but it did not work for me. My code using Java is below:

 public class TestClass 
 {
    public static void main(String[] args) {         
    File file = new File("D:\\Driver\\IEDriverServer.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
    WebDriver driver = new InternetExplorerDriver();
    driver.get("http://jqueryui.com/slider/");

    WebElement slider = driver.findElement(By.xpath("//div[@id='slider']/a"));
    Actions move = new Actions(driver);
    Action action = (Action) move.dragAndDropBy(slider, 30, 0).build();
    ((Actions) action).perform();

}


}

控制台

   Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to    find element with css selector == html body div#slider.ui-slider a.ui-slider-handle   (WARNING: The server did not provide any stacktrace information)
  Command duration or timeout: 286 milliseconds
  For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
 Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
 System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version:   '1.7.0_13'
 Driver info: driver.version: RemoteWebDriver
 Session ID: 79edc751-a9a3-4ecb-a171-d2b43c088a66
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:498)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:268)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:345)
at org.openqa.selenium.By$ByCssSelector.findElement(By.java:406)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:260)
at testpakage.testclass.main(testclass.java:30)

推荐答案

尝试以下代码.

public class TestClass 
   {
        public static void main(String[] args) {         
        File file = new File("D:\\Driver\\IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
        WebDriver driver = new InternetExplorerDriver();
        driver.get("http://jqueryui.com/slider/");

        WebDriver driver = new InternetExplorerDriver();
        driver.get("http://jqueryui.com/slider/");
        driver.switchTo().frame(0); //need to switch to this frame before clicking the slider
        WebElement slider = driver.findElement(By.xpath("//div[@id='slider']/span"));
        Actions move = new Actions(driver);
        Action action = (Action) move.dragAndDropBy(slider, 30, 0).build();
        action.perform();
   }

这篇关于如何在Selenium WebDriver中滑动{move}滑块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆