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

Фотография

Найти элемент в области видимости пользователя

selenium

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

#1 Bond0608

Bond0608

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

  • Members
  • Pip
  • 14 сообщений

Отправлено 11 апреля 2018 - 10:29

Здравствуйте, я использую selenium для автоматизации интеграционных тестов. Мне нужно определять когда элемент находится либо  в области видимости пользователя, либо за пределами.

Если использовать метод isDisplayed(), то он видит всю страницу целиком.

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

Подскажите, пожалуйста, как можно это реализовать?


  • 0

#2 Bond0608

Bond0608

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

  • Members
  • Pip
  • 14 сообщений

Отправлено 11 апреля 2018 - 12:03

Возможно ли вообще это сделать или не стоит на это время тратить?


  • 0

#3 TatyanaV

TatyanaV

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

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


Отправлено 11 апреля 2018 - 12:56

Теоретически можно попробовать проанализировать координаты элемента. 


  • 0

#4 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 11 апреля 2018 - 14:02

Возможно ли вообще это сделать или не стоит на это время тратить?

 

Посмотрите хотя бы свойства корневых этементов <html> и <body>, как их возвращает вебдрайвер, и как они виды в инструментах разработчика.

Например, на Python:

h = driver.fet_element_by_xpath('html')
h.rect  # дает полный размер, видимый и невидимый (если это не мобильный)
h.get_property('scrollTop')  # дает позицию в прокрутке

Аналогично, есть свойства clientHeight и clientWidth. Просто ищите.


  • 0



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

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

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