Здравствуйте. Хочу сделать так, чтобы перед нажатием на элемент этот элемент отображался в середине экрана. Для этого, видимо, элементу нужно передать координату Y = половине экрана. Подскажите, пожалуйста, Селениум предоставляет такую возможность?
#1
Отправлено 14 декабря 2018 - 13:29
#2
Отправлено 14 декабря 2018 - 13:38
Возможно, через JavascriptExecutor.
В принципе, селениум и так "скроллит" до элементов, которые планирует кликать / заполнять.
#3
Отправлено 14 декабря 2018 - 13:43
Нужно проскролить.
Селениум скролит до середины элемента, все, что ниже он не видит. Мне необходимо сделать так, чтобы был виден нижний (или верхний край элемента, зависит от того куда крутим), так как я не придумал как это сделать, решил, что нужно крутить до тех пор, пока элемент не будет в центре экрана.
#4
Отправлено 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) + ")");
#5
Отправлено 14 декабря 2018 - 14:24
У меня с экзекутором вечная беда. Добавил: ((JavascriptExecutor) driver).executeScript("window.scrollTo("+ (element.getLocation().x + 1) + ", " + (element.getLocation().y + 300) + ")");
но элементы не реагируют.
#6
Отправлено 14 декабря 2018 - 14:36
У Селениума есть свои методы, но они что-то тоже не хотят работать:
element.getLocation().move(700, 380);
element.getLocation().moveBy(700,380);
#7
Отправлено 17 декабря 2018 - 05:29
У меня с экзекутором вечная беда. Добавил: ((JavascriptExecutor) driver).executeScript("window.scrollTo("+ (element.getLocation().x + 1) + ", " + (element.getLocation().y + 300) + ")");
но элементы не реагируют.
А как они должны реагировать, по-Вашему?
Это скролл (чтобы Вы могли проскроллить так, как Вам нужно, если не устраивает стандартный скролл, который селениум сам делает.). Это не перенос элементов куда либо.
Перенос элементов - вообще сомнительная идея.
Темы с аналогичным тегами Selenium Webdriver
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных