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

Фотография

Как получить CSS-данные объекта?


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

#1 dolkons

dolkons

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Долгий Константин

Отправлено 19 ноября 2013 - 06:57

Я новичок в selenium, прошу сильно не ругаться, если что не так описал.
Проблема следующая. На странице есть кнопка, ее html-описание следующее:
<div class="EditControlsButton EditControlsButton_CreateMapItemActive olButton"></div>

В поле CSS-Rules есть запись, относящаяся к размеру данной кнопки:
.EditControlsButton {
width: 34px;
height: 31px;
}

Когда я нажимаю на кнопку, то ее размер меняется:
.EditControlsButton:hover {
width: 136px;
height: 31px;
}
Скажите, как мне сделать так, чтобы после нажатия на кнопку, проверять изменились ли размеры самой кнопки? Для начала хотя бы как мне именно достать данные о размере кнопки?
Тесты пишу на Python. Пробовал get_attribute(), но он возвращает пустые значения.
Надеюсь на вашу помощь.
  • 0

#2 Petrov.Sergey

Petrov.Sergey

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

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 19 ноября 2013 - 07:16

Скажите, как мне сделать так, чтобы после нажатия на кнопку, проверять изменились ли размеры самой кнопки? Для начала хотя бы как мне именно достать данные о размере кнопки?
Тесты пишу на Python. Пробовал get_attribute(), но он возвращает пустые значения.
Надеюсь на вашу помощь.

В ЖАВовском вебдрайвере у элемента есть метод .getCssValue("paramName").
Про питон не знаю. Посмотрите, может, там тоже есть подобное?
  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 PavelLobashov

PavelLobashov

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

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

Отправлено 19 ноября 2013 - 11:25

Тесты пишу на Python. Пробовал get_attribute(), но он возвращает пустые значения.

Как вызывали get_attibute?
попробуйте
get_attribute('style')

  • 0

#4 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 19 ноября 2013 - 15:14

Можно гораздо проще, сравнивая размер элемента. На Java у меня это выглядит так:
Dimension size1 = element.getSize();
element.click();
Thread.sleep(1000); //задержка, чтобы размер успел изменится
Dimension size2 = element.getSize();
if (size1 == size2)
   ошибка

  • 0

#5 dolkons

dolkons

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Долгий Константин

Отправлено 20 ноября 2013 - 05:35

Всем спасибо! Подсказали, в каком направлении глядеть. Во всем разобрался. В Питоне есть метод value_of_css_property('property name'). Использовал его, все работает на ура!
  • 0

#6 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 ноября 2013 - 09:59

Правильно использовать element.size, потому что не все браузеры гарантируют синхронное изменение CSS-свойств width и height
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


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

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