Добрый день!
Использую python+selenium
Имею web_element, мне надо получить отображаемый текст этого элеммента.
Стандартно делается text = web_element.text
но таким образом получить текст с элемента с тегом input и textarea не получится, нужно использовать
web_element.get_attribute("value")
С каких еще элементов текст полуяается при помощи атрибута value
Есть ли еще веб элементы, с которых текст получают при помощи другого атрибута?
UPD1
Для автотестов у меня есть один метод, который проверяет наличие текста в веб элементе. На вход метода подается xpath веб элемента и текст, наличие которого надо проверить. На вход может подаваться веб элемент любого типа: поле ввода, label, кнопка и т.д.
Дело в том что для разных видов веб элементов процедура получения отображаемого текста в этом элементе различаются.
Например для элементов с тегами ‘input’ и ‘textarea’ я не могу получить текст таким образом:
text = web_element.text
приходится получать текст так
text = web_element.get_attribute(“value”)
Мне нужно знать список всех тегов веб элементов, текст которых надо получать через атрибут value,
@step(ur'увидим в "{web}" значение {value}')
def we_see(context, web, value):
xpath = context.mapping[context.current_feature][web]
web_element = context.browser.find_element_by_xpath(xpath)
attribute = web_element.tag_name
if attribute == 'input' or attribute == 'textarea':
if value != 'null':
asserts.assert_in(value, web_element.get_attribute("value"))
else:
asserts.assert_in(value, web_element.text)