Как получить атрибут элемента из Selenium?
Я работаю с Selenium в Python. Я хотел бы получить .val()
элемента <select>
и проверить, что это то, что я ожидаю.
Это мой код:
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
Как я могу это сделать? Документы Selenium, похоже, имеют много возможностей для выбора элементов, но ничего об атрибутах.
Ответы
Ответ 1
Вероятно, вы ищете get_attribute()
. Здесь также показан пример
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
val = org.get_attribute("attribute name")
Ответ 2
питон
element.get_attribute("attribute name")
Ява
element.getAttribute("attribute name")
Рубин
element.attribute("attribute name")
С#
element.GetAttribute("attribute name");
Ответ 3
Поскольку недавно разработанные веб-приложения используют JavaScript, jQuery, AngularJS, ReactJS и т.д., Существует возможность, что для извлечения атрибута элемента через Selenium вы должны заставить WebDriverWait синхронизировать экземпляр WebDriver с запаздывающим веб-клиентом, т.е. пытаясь получить любой из атрибутов.
Некоторые примеры:
HTML атрибуты
Ниже приведен список некоторых атрибутов, часто используемых в HTML
Примечание. Полный список всех атрибутов для каждого элемента HTML приведен в разделе: Справочник по атрибутам HTML.