Как перейти к элементу в Ruby и Selenium - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь прокрутить до элемента, используя javascript executor на моем Ruby-скрипте, используя селен. Тем не менее, скрипт прокручивает страницу вниз и пропускает элемент. Таким образом, не взаимодействуя с элементом.

Метод прокрутки:

def scroll_into_view(element, locator=nil)
    element = element.nil? ? find(locator) : element
    @wd.execute_script('arguments[0].scrollIntoView(true);', element)
  end

Справка:

scroll_into_view(nil, gear_icon_span_locator)

Известны ли вам другие способы прокрутки до элемента в ruby?

Я пробовал строителей действий и фактически переходил к элементу, который, похоже, не работал.

Ответы [ 2 ]

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

Сценарий, который работал, я нашел ответ отсюда: Прокрутка, которая работает для ruby ​​

  def scroll_to_element(element, locator=nil)
    script_string = "var viewPortHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);" +
        "var elementTop = arguments[0].getBoundingClientRect().top;" +
        "window.scrollBy(0, elementTop-(viewPortHeight/2));"
    element = element.nil? ? find(locator) : element
    execute_script(script_string, element)
  end
0 голосов
/ 28 марта 2019

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

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