У меня возникла проблема с получением текста из поля имени пользователя в одной из форм на моей веб-странице с использованием Python & Selenium.Python Selenium: Как получить текст, сгенерированный JavaScript в поле ввода
У меня есть поле, которое заполняется с помощью JS после выбора пользователя из списка:
<select id="users" onchange="checkUser(document.getElementById('configpin'))" ondblclick="document.getElementById('users').size=1; showUser(document.getElementById('configpin'))" onmouseout="document.getElementById('users').size=1" size="1"><option value="1">1 User 1</option>[...]</option></select>
Поле:
<input name="name1" value="" type="text" id="name1" onkeyup="checkNameEntry('name1',20)" onchange="checkNameEntry('name1',20)" onkeydown="if(event.keyCode == 13) submitUser(document.getElementById('configpin'));">
И я пытаюсь получить текст, отображаемый в этой области , Но это не работает. я пытался:
uname = driver.find_element_by_id('name1').get_attribute('innerHTML')
И:
uname = driver.find_element_by_id('name1').text
, но в обоих случаях все, что я получаю от него пустая строка. Я ожидаю, что это общая проблема, и у нее должно быть какое-то очевидное решение, но я не могу ее найти.
Элемент расположен правильно, потому что я использую этот код для очистки этого поля и ввода собственной строки в другом тесте, и он работает. Я думаю, что речь идет о Java Script. В любом случае, я попробовал локатор имен, и результат тот же. – inzbartosz