Перейти к содержимому

Фотография

Не работает перетаскивание ползунока(drop and drag)

Silder Action Move drop and drag move the slider

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 WhiteCrow

WhiteCrow

    Новый участник

  • Members
  • Pip
  • 19 сообщений

Отправлено 14 июля 2014 - 08:46

Привет всем. У меня не работает перетаскивание ползунка. Судя по ошибке - не находиться селектор. Хотя я его указал верно. Побывал разные варианты селекторов  xpath и CSS. Попробовал запускать в разных браузерах. 

 

Мои селекторы:

 

xpath:

 

.//*[@id='block_1']/div[2]/div/div[2]/div[7]

 

.//*[@class='t76_js_min_cursor']" - улучшенный вариант

 

CSS:

 

.t76_js_min_cursor

 

Вот код:

package Komus.example;


import java.util.concurrent.TimeUnit;


import org.openqa.selenium.By;
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 UseSlider {


private static final String url = "http://www.komus.ru/catalog/7237/_s/feat/p%5D%5B1.t%5D%5B1.f1_~2594~:%5D012942%5B1.~2595~:%5D021942%5B_1.r%5D%5B/";


public static void main(String[] args) {


WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
try {
driver.get(url);
moveSlider(driver);


}


finally {
//driver.quit();
}
} 


private static void moveSlider (WebDriver driver) {


driver.switchTo().frame(0);
   WebElement slider = driver.findElement(By.xpath(".//*[@class='t76_js_min_cursor']"));
   Actions move = new Actions(driver);
   Action action = (Action) move.dragAndDropBy(slider, 60, 0).build();
   action.perform();
}


}

Вот ошибка:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":".//*[@class='t76_js_min_cursor']"}
Command duration or timeout: 10.12 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:03'
System info: host: 'acer-aspire_v5', ip: '192.168.0.24', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_05'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=30.0, platform=XP, browserConnectionEnabled=true, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: a2385d0c-3036-44ef-a0d2-c291deb8e29d
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:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:352)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:449)
at org.openqa.selenium.By$ByXPath.findElement(By.java:357)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:344)
at Komus.example.UseSlider.moveSlider(UseSlider.java:50)
at Komus.example.UseSlider.main(UseSlider.java:38)
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Unable to locate element: {"method":"xpath","selector":".//*[@class='t76_js_min_cursor']"}
Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:03'
System info: host: 'acer-aspire_v5', ip: '192.168.0.24', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_05'
Driver info: driver.version: unknown
at <anonymous class>.FirefoxDriver.prototype.findElementInternal_(file:///C:/Users/user/AppData/Local/Temp/anonymous2138885446236210449webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:9470:7)
at <anonymous class>.fxdriver.Timer.prototype.setTimeout/<.notify(file:///C:/Users/user/AppData/Local/Temp/anonymous2138885446236210449webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:407:5)
 

  • 0

#2 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 14 июля 2014 - 08:57

delete

Страница с ошибками подгрузилась первый раз + увидел фильтры.

 

Смущает строка 

driver.switchTo().frame(0);

Фреймов я ни одного не увидел.

Возможно, фрейм(0) = базовый, но, может, всё-таки попробовать не переключаться, а?

Тем более, что класс с таким идентификатором существует, и причём единственный.


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 WhiteCrow

WhiteCrow

    Новый участник

  • Members
  • Pip
  • 19 сообщений

Отправлено 14 июля 2014 - 09:32

delete

Страница с ошибками подгрузилась первый раз + увидел фильтры.

 

Смущает строка 

driver.switchTo().frame(0);

Фреймов я ни одного не увидел.

Возможно, фрейм(0) = базовый, но, может, всё-таки попробовать не переключаться, а?

Тем более, что класс с таким идентификатором существует, и причём единственный.

 

Да вы правы. Стоило всего лишь не переключаться между ними. Спасибо.


  • 0



Темы с аналогичным тегами Silder, Action, Move, drop and drag, move the slider

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных