如何使用Soda / Selenium发送左右光标?

时间:2013-03-19 16:38:55

标签: selenium selenium-webdriver soda

我正在使用Soda来运行Selenium Webdriver。大多数情况下它按预期工作但我正在尝试计算如何将左右光标键发送到浏览器以移动jquery ui滑块手柄。

我试过

.typeKeys('css=a.ui-slider-handle[lr="l"]','\37')

 .type('css=a.ui-slider-handle[lr="l"]','\37')

.typeKeys('\37')

.type('\37')

似乎没有移动滑块。它们都没有错误。在我这样做之前,我正在向手柄发送一个单击以确保......

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:0)

Java中的工作代码 -

WebDriver driver = new InternetExplorerDriver();
driver.get("http://jqueryui.com/demos/slider/");
//Identify WebElement
WebElement slider = driver.findElement(By.xpath("//div[@id='slider']/a"));
//Using Action Class
Actions move = new Actions(driver);
Action action = move.dragAndDropBy(slider, 30, 0).build();
action.perform();
driver.quit();

来源 - https://gist.github.com/2497551

答案 1 :(得分:0)

尝试下面,我在firefox中使用jquery UI滑块页面进行了测试,这对我有用。

.clickAt(“// div [@ id ='slider'] / a [1]”,“”)

//鼠标左键向下

.mouseDownAt(“// div [@ id ='slider'] / a [1]”,“0,0”)

//将光标从左侧移动约200个

.mouseMoveAt(“// div [@ id ='slider']”,“200,0”)

//释放鼠标按钮

.mouseUpAt(“// div [@ id ='slider']”,“”);