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

Фотография

Клик по координатам


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

#1 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 03 августа 2012 - 11:48

Здравствуйте!
Не могу сделать клик по координатам. Нашел вот такой вот кусок кода А. Баранцева

ActionChainsGenerator builder = ((HasInputDevices) driver).actionsBuilder();
Action action = builder
    .moveToElement(elementLocator, xOffset, yOffset)
    .click()
    .build();
action.perform();

Как его встроить в программу? Пишу на java.

Если у кого-то есть готовые решения, как осуществить клик по координатам локатора, пожалуйста, поделитесь, думаю не только мне одному интересно будет. (тоесть наводим мышку на нужный контейнер, потом вправо на Х пикселей и вниз на У пикселей, клик!)
  • 0
Мой сайт - Травиан бот :)

#2 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 03 августа 2012 - 13:03

0 просмотров 0 ответов, форум похоже умирает, так что пора принять хоть какие-то меры :)
Буду отвечать сам себе

Нужно присоединить библиотеку interactions. Гугл быстро дал результат - http://www.java2s.co...mapi20b3jar.htm - здесь качаем файл с загадочным названием - selenium-api-2.0b3.jar. Он добавляет интеракшнс. Вот таким импортом привязываем его:
import org.openqa.selenium.interactions.*;, а дальше, как написано вот в этой ссылке http://selenium100.b...12/06/no18.html
  • 0
Мой сайт - Травиан бот :)

#3 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 03 августа 2012 - 14:01

Вобщем ничего не получилось, пришел к вот такому вот коду:

Actions cliiick = new Actions(driver);
cliiick.moveToElement(driver.findElement(By.id("header1")), 50, 50).click();


должен кликать по моему header'y в координатах 50-50. Там ссылка, и он по ней не переходит. Нужна помощь!
  • 0
Мой сайт - Травиан бот :)

#4 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 04 августа 2012 - 21:10

Код, выложенный в предыдущем посте рабочий для chrome driver. Мозилла его игнорирует.
  • 0
Мой сайт - Травиан бот :)

#5 Wolonter

Wolonter

    Постоянный участник

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 05 августа 2012 - 06:55

0 просмотров 0 ответов, форум похоже умирает, так что пора принять хоть какие-то меры :)



Что ж вы хотели в летние-то выходные?:)

Ну а например так?

       import java.awt.Robot;
       try
        { // Привлечение java робота
            Robot robot = new Robot();
            WebElement element = tester.findElement(XPATH);
            robot.mouseMove(element.getLocation().getX()+10,element.getLocation().getY()+10 );
            robot.delay(500);
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);
        }
        // Если конфигурация платформы не позволяет осуществлять низкоуровневое управление.
        catch (AWTException e)
        {
            throw new Exception(e);
        }

  • 0

#6 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 06 августа 2012 - 09:38


0 просмотров 0 ответов, форум похоже умирает, так что пора принять хоть какие-то меры :)



Что ж вы хотели в летние-то выходные?:)

Ну а например так?

       import java.awt.Robot;
       try
        { // Привлечение java робота
            Robot robot = new Robot();
            WebElement element = tester.findElement(XPATH);
            robot.mouseMove(element.getLocation().getX()+10,element.getLocation().getY()+10 );
            robot.delay(500);
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);
        }
        // Если конфигурация платформы не позволяет осуществлять низкоуровневое управление.
        catch (AWTException e)
        {
            throw new Exception(e);
        }



А что если окно браузера свернуто? Робот, насколько я понимаю, кликает только по экрану?
  • 0
Мой сайт - Травиан бот :)

#7 Wolonter

Wolonter

    Постоянный участник

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 06 августа 2012 - 10:45

А что если окно браузера свернуто? Робот, насколько я понимаю, кликает только по экрану?


Не проверял.
Мы не сворачиваем.
  • 0

#8 appmen

appmen

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

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 06 августа 2012 - 11:27

робот кликает по экрану. А чот вам мешает делать активным то окно, в котором происходит тест?
  • 0

#9 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 08 августа 2012 - 19:07

:) просто это на самом деле не тест, а робот для браузерной игры. И скорее всего что окно будет свернуто.
  • 0
Мой сайт - Травиан бот :)

#10 appmen

appmen

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

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 09 августа 2012 - 06:40

ну, если вам настолько важно читить, от поставьте виртуальную машину и запустите там скрипт, а на основной работайте
  • 0

#11 degradator

degradator

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 09 августа 2012 - 15:13

ну, если вам настолько важно читить, от поставьте виртуальную машину и запустите там скрипт, а на основной работайте


Не знаю что такое виртуальная машина, просто робот это не для меня, а для других гамеров. Я на этом зарабатываю :). Нужно чтобы пользователь нажал на .ехе файл и все работало. Хотелось бы сделать поддержку нескольких браузеров, но получилось только в хроме. Не пробовал в IE, там нужно будет половину xpath переделывать. Вот такие дела. Вобщем раз в мозилле этого пока сделать нельзя, буду ждать чуда от разработчиков Selenium.
  • 0
Мой сайт - Травиан бот :)


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

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