【发布时间】:2013-07-09 11:57:42
【问题描述】:
我在使用 Selenium Webdriver(2.32.0 版)和 Firefox (21.0) 时遇到问题,试图更改滑块上的值。
我写了一个这样的Java代码:
private void selectGiftCardPrice() throws TestingException {
try {
WebElement slider = getDriver().findElement(
By.cssSelector("div.sliderHandle"));
Actions move = new Actions(getDriver());
move.dragAndDropBy(slider, 90, 0);
move.build().perform();
sleep(4000);
} catch (Exception e) {
log.info(e);
throw new TestingException("e");
}
我尝试了我在网上找到的每一个代码,每一个更改,但它仍然无法正常工作。它没有显示任何问题,只是找到了元素,什么都不做。知道它是什么,或者我能做什么?
编辑评论:
我终于让它和jQuery slider demo一起工作了
driver.get("http://jqueryui.com/resources/demos/slider/multiple-vertical.html");
WebElement slider = driver.findElement(By.xpath("//div[1]/a[contains(@class,'ui-slider-handle')]"));
但是使用 Xpath //div[@id='slider']/a 的 jQuery UI Slider demo page 仍然对我不起作用。有什么问题?
【问题讨论】:
-
你试过这个:
move.dragAndDropBy(slider, 90, 0).build().perform();吗?有几次我注意到,在使用Actions()类时,最好尝试将所有操作保持在同一个链中。打断链条并产生“奇怪”的影响。 -
是的,我做到了,但仍然无法正常工作,:-(.
-
请提供一段 html。带滑块和输入
-
我终于使它与网页 driver.get("jqueryui.com/resources/demos/slider/…); 和 WebElement slider = driver.findElement(By.xpath("//div[1]/a[ contains(@class,'ui-slider-handle')]"));,但是对于示例页面 jqueryui.com/slider 和 Xpath "//div[@id='slider']/ 仍然无法正常工作a",FireBug要么用FirePath找到Xpath,但肯定是对的。问题出在哪里?
-
将 xpath 更正为 //div[@id='slider']/span 而不是 //div[@id='slider']/a
标签: java firefox selenium slider webdriver