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

Программирование на C# для тестировщиков
онлайн, начало 19 июля
Школа для начинающих тестировщиков
онлайн, начало 25 июля
Python для начинающих
онлайн, начало 26 июля
Автоматизация функционального тестирования
онлайн, начало 26 июля
Фотография

Присвоение элементу нужных координат

Selenium Webdriver

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

#1 Alemix

Alemix

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

  • Members
  • Pip
  • 34 сообщений
  • ФИО:Герасимов Алексей Михайлович

Отправлено 14 Декабрь 2018 - 13:29

Здравствуйте. Хочу сделать так, чтобы перед нажатием на элемент этот элемент отображался в середине экрана. Для этого, видимо, элементу нужно передать координату Y = половине экрана. Подскажите, пожалуйста, Селениум предоставляет такую возможность?


  • 0

#2 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 383 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 14 Декабрь 2018 - 13:38

Возможно, через JavascriptExecutor. 

В принципе, селениум и так "скроллит" до элементов, которые планирует кликать / заполнять.


  • 0

#3 Alemix

Alemix

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

  • Members
  • Pip
  • 34 сообщений
  • ФИО:Герасимов Алексей Михайлович

Отправлено 14 Декабрь 2018 - 13:43

Нужно проскролить.

Селениум скролит до середины элемента, все, что ниже он не видит. Мне необходимо сделать так, чтобы был виден нижний (или верхний край элемента, зависит от того куда крутим), так как я не придумал как это сделать, решил, что нужно крутить до тех пор, пока элемент не будет в центре экрана.


  • 0

#4 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 383 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 14 Декабрь 2018 - 13:56

((JavascriptExecutor) driver).executeScript("window.scrollTo("+ element.getLocation().x + ", "+ element.getLocation().y + ")");

Ну и дальше уже регулируйте x / y, как Вам нужно.

 

Например: 

((JavascriptExecutor) driver).executeScript("window.scrollTo("+ (element.getLocation().x + 20) + ", " + (element.getLocation().y + 30) ")");


  • 0

#5 Alemix

Alemix

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

  • Members
  • Pip
  • 34 сообщений
  • ФИО:Герасимов Алексей Михайлович

Отправлено 14 Декабрь 2018 - 14:24

У меня с экзекутором вечная беда. Добавил: ((JavascriptExecutor) driver).executeScript("window.scrollTo("+ (element.getLocation().x + 1) + ", " + (element.getLocation().y + 300) + ")");

но элементы не реагируют. 


  • 0

#6 Alemix

Alemix

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

  • Members
  • Pip
  • 34 сообщений
  • ФИО:Герасимов Алексей Михайлович

Отправлено 14 Декабрь 2018 - 14:36

У Селениума есть свои методы, но они что-то тоже не хотят работать:

element.getLocation().move(700, 380);
element.getLocation().moveBy(700,380);


  • 0

#7 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 383 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 17 Декабрь 2018 - 05:29

У меня с экзекутором вечная беда. Добавил: ((JavascriptExecutor) driver).executeScript("window.scrollTo("+ (element.getLocation().x + 1) + ", " + (element.getLocation().y + 300) + ")");

но элементы не реагируют. 

А как они должны реагировать, по-Вашему?

Это скролл (чтобы Вы могли проскроллить так, как Вам нужно, если не устраивает стандартный скролл, который селениум сам делает.). Это не перенос элементов куда либо. 

Перенос элементов - вообще сомнительная идея. 


  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн




Темы с аналогичным тегами Selenium Webdriver

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

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

Яндекс.Метрика
Реклама на портале