Измените или удалите значение атрибута отображения тега textarea с помощью JS - PullRequest
0 голосов
/ 07 января 2020

Я автоматизирую веб-форму с помощью Python 3.8.0 и Selenium 3.141

У меня есть тег textarea, к которому я могу получить доступ через идентификатор или имя. У меня есть атрибут стиля, который я пытаюсь удалить или изменить, который называется «display», который в настоящее время установлен как «none». Я бы предпочел полностью удалить его или установить для него значение «блокировать», чтобы иметь к нему доступ с помощью Selenium.

javascript Я пытаюсь использовать

document.querySelector("textarea[id='id']").removeAttribute("display");

, который, для селена я выполняю с

driver.execute_script("""document.querySelector("textarea[id='id']").removeAttribute("display");""")

К сожалению, когда страница загружается, я не вижу ожидаемого результата (по сравнению с удалением отображения вручную: нет с элементом inspect). Поскольку окно texarea скрыто, Selenium выдает ошибку is not reachable by keyboard, когда я пытаюсь отправить ключи в текстовое поле.

Мой код JS не выдает никаких ошибок, но я все еще считаю, что он некорректен. Я недостаточно знаком с кодом селектора CSS или JS в целом, чтобы знать, где я ошибся, и был бы очень признателен за помощь.

1 Ответ

1 голос
/ 07 января 2020

Метод removeAttribute удаляет атрибут HTML, а не CSS. Вам нужно использовать element.style.display = "block";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...