Подтвердить что ты не робот

Получите значение поля ввода с помощью Selenium (Python)

Я пытаюсь извлечь текст в поле ввода,

<input type="text" name="inputbox" value="name" class="box">

Я начал с

input = driver.find_element_by_name("inputbox")

Я попробовал input.getText(), но получил

AttributeError: 'WebElement' object has no attribute 'getText'
4b9b3361

Ответ 1

Используйте это, чтобы получить значение входного элемента:

input.get_attribute('value')

Ответ 2

Обратите внимание, что между атрибутом value и свойством value есть важное различие.

Упрощенное объяснение состоит в том, что атрибут value - это то, что находится в теге HTML, а свойство value - это то, что вы видите на странице.

По сути, атрибут value устанавливает начальное значение элемента, а свойство value содержит текущее значение.

Вы можете прочитать больше об этом здесь и увидеть пример различия здесь.


Если вам нужен атрибут value attribute, вам следует использовать get_attribute:

input.get_attribute('value')

Если вы хотите использовать свойство value property, используйте get_property

input.get_property("value")

Хотя, согласно документам, get_attribute фактически возвращает свойство, а не атрибут, если только свойство не существует. get_property всегда возвращает свойство.