Оптимальный способ получения значений из элементов
#1
Отправлено 19 февраля 2015 - 12:15
#2
Отправлено 19 февраля 2015 - 12:29
Ну, предположим, есть способ получить весь текст из таблицы, даже такой какая у вас.
Зачем вам такая каша текста, и как вы с ней будете работать?
Чем вас не устраивает обращение к каждой клетке таблицы?
#3
Отправлено 19 февраля 2015 - 12:48
Предположу, что в полях ввода текст хранится в аттрибутах подобно vlaue (или другой). Возможно вам поможет такой вариант driver.findElement(By.xpath("//tbody")).getAttribute("value")
#4
Отправлено 19 февраля 2015 - 12:49
за минимальное количество обращений к странице и элементам
это только взать весь elem.getAttribute("innerHTML") таблицы и парсить его самостоятельно.
можно попрбовать javascript'ом вытянуть все на стороне браузера.
а иначе только перебирать каждую клетку таблицы.
#5
Отправлено 20 февраля 2015 - 05:00
Решение можно найти всегда.
Если вам необходимо получить значение всех селектов, то мне кажется нужно идти простым и напрашивающимся способом - то есть получить из каждой клетки. Узнал количество строк, запустил цикл и присвоил их в какую-нибудь коллекцию. Главное, что ничего не пропустишь. Как по мне распарсивание всего HTML-куска таблицы более трудозатратный способ.
Ну а что касается получение значения Selected option, то для надежности всегда можно посмотреть в каком аттрибуте хранится этот самый option. + ко всему обычно выбранный option имеет какой-то дополнительный аттрибут, с помощью XPath или CssSelector его не трудно будет выбрать. Да и класс Select вроде как позволяет получить это самое значение.
#6
Отправлено 20 февраля 2015 - 07:48
Зачем вам такая каша текста, и как вы с ней будете работать?
В том то и дело, что с кашей работать не хочется. И интересно есть ли способ не обращаясь к каждой клетке получить выбранные элементы и введенный текст.
Решение можно найти всегда.
Если вам необходимо получить значение всех селектов, то мне кажется нужно идти простым и напрашивающимся способом - то есть получить из каждой клетки. Узнал количество строк, запустил цикл и присвоил их в какую-нибудь коллекцию. Главное, что ничего не пропустишь.
Сейчас именно так и делаю..
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных