Как найти правильное горизонтальное и вертикальное смещение элемента? - PullRequest
1 голос
/ 14 марта 2019

Я сейчас использую Selenium и Ruby. Мой вопрос: что перейти к методу move_by Selenium Web Driver?

#move_by(right_by, down_by, device: nil) ⇒ W3CActionBuilder
driver.action.move_by(100, 100).perform

Документ гласит:

Параметры:

  • right_by (Integer) - горизонтальное смещение. Отрицательное значение означает перемещение мышь ушла.
  • down_by (Integer) - вертикальное смещение. Отрицательное значение означает перемещение мышь вверх.
  • устройство (Symbol || String) - необязательное имя устройства PointerInput двигаться

Итак, я пошел и нашел DOMRect элемента с помощью инструментов Chrom Dev и запустил эту команду в консоли:

$0.getBoundingClientRect()

, который возвращает эти значения:

bottom: 410
height: 14
left: 1801.65625
right: 1817.65625
top: 396
width: 16
x: 1801.65625
y: 396

Итак, вопрос в том, каковы мои параметры right_by и down_by из приведенных выше чисел?

1 Ответ

0 голосов
/ 14 марта 2019

Вы можете использовать JavaScript для прокрутки до нужной позиции.Javascript:

window.scrollTo(100,100);

Вызов Javascript в ruby:

driver.execute_script("window.scrollTo(1801.65625,396);")

В качестве альтернативы вы можете использовать scroll.to, если вы пытаетесь прокрутить до элемента, на всякий случай.

driver.element().scroll.to :bottom 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...