#excel #vba #internet-explorer
#excel #vba #internet-explorer
Вопрос:
Я пытаюсь вставить значение в textarea
поле с помощью автоматизации Excel, я провел много исследований, но не добился успеха.
Я использовал приведенные ниже сценарии.
IE.document.all("content").Item.Value = "Hi"
IE.document.all("content").Value = "Hi"
IE.document.all("content").innerHtml = "Hi"
Ни один из примеров не работает.
Комментарии:
1. .Внутренний текст? я посмотрю
2. Почему вы используете
document.all
? Это устарело и может не работать на сайте. Кроме того, является ли ваш селектор"content"
именем класса? Если это так, вы можете искать что-то вродеIE.document.querySelector(".content").innerHTML = "Hi"
. Добавьте свой HTML для лучшей ссылки.3. Не могли бы вы, пожалуйста, предоставить соответствующий HTML-код, чтобы мы могли провести тест, чтобы узнать, как найти элемент? Кроме того, я согласен с Робертом, вы должны использовать другой css-селектор вместо
document.all
, он устарел .4. Звучит хорошо, я добавлю комментарий в ответ, чтобы этот вопрос можно было решить.
Ответ №1:
Не используйте Document.all
Согласно mozilla document.all
устарела с HTML5 и может не работать с вашим сайтом.
Эта функция больше не рекомендуется. Хотя некоторые браузеры все еще могут поддерживать его, оно может быть уже удалено из соответствующих веб-стандартов, может быть в процессе удаления или может быть сохранено только в целях совместимости. Избегайте его использования и обновите существующий код, если это возможно; . . .
Селекторы, которые вы можете использовать
Действительно, селекторами, которые хорошо использовать, будут .getElementById
, .getElementsByClassName
, .querySelector
, и .querySelectorAll
.
Решение с использованием правильного селектора
Я предпочитаю придерживаться querySelector
и querySelectorAll
.
Используя ваш пример, похоже, что вы пытаетесь захватить only textarea
с классом контента, что-то вроде <textarea class="content"></textarea>
.
Таким образом, этот пример будет выглядеть следующим образом
IE.document.querySelector(".content").innerHTML = "Hi"
Комментарии:
1. спасибо, это работает. как я могу нажать на этот тип class> class=»btn btn-success» есть два класса, как нажать на
2. Отлично, если это отвечает на ваш вопрос, пожалуйста, отметьте его как ответ. Скорее всего, вам нужно будет использовать что-то большее, чем просто класс в этом экземпляре, поскольку
btn btn-sucess
, вероятно, это какая-то структура, такая как bootstrap, где классы используются повторно повсюду. С учетом сказанного, если это единственный элемент, то это будет что-то вродеdocument.querySelector(".btn.btn-success").Click
3. Вот список основных селекторов css, которые могут помочь вам W3Shools.com . Если у вас есть дополнительные дополнительные вопросы, то лучше всего задать эти новые вопросы в SO. Приветствия
Ответ №2:
Пожалуйста, попробуйте приведенный ниже код. Проверьте, работает ли это или нет. IE.document.all(«Содержимое»).Text= «Привет»
Или попробуйте добавить текстовые свойства в конце кода