Страницы: 1
RSS
Проверка getElementsByTagName на существование на веб-странице
 
Добрый день!

Хочу написать условие, которое будет циклично проверять существование определенного тега на веб-странице при помощи getElementsByTagName и после того, как тег появится и будет найден, будет продолжать работу макроса.
Но у меня возникла сложность - не понимаю, как можно проверить существование тега. Читал про свойство getElementsByTagName, но так и не понял что оно возвращает в итоге. Точнее, оно возвращает коллекцию указанных тегов, но как можно проверить на существование определенного тега на странице?
Изменено: footballplayer - 23.08.2017 23:27:58
 
Цитата
footballplayer написал: Читал про свойство getElementsByTagName
Я не читал про это свойство, но, прочитал, и, т.к.
Цитата
footballplayer написал: оно возвращает коллекцию указанных тегов
то логично предположить, что можно пройтись циклом по полученной коллекции и искать в ней нужный Tag. Что-то типа такого
Код
    Dim iTag
    With CreateObject("MSXML2.DOMDocument")
        For Each iTag In .getElementsByTagName("*")
            If iTag.tagName = "НужноеИмя" Then
                'какой-то код
            End If
        Next
    End With
Изменено: Sanja - 24.08.2017 10:38:13
Согласие есть продукт при полном непротивлении сторон
 
Sanja, попробовал Ваш вариант, он в общем срабатывает отлично, но не решает проблему)
Суть в том, что мне необходимо через проверку существование тега проверить открытие определенной веб-страницы и на нее послать SendKeys "{ENTER}".
Делаю проверку согласно Вашему коду, дополняю код SendKey'сом, но нажатия кнопки энтер на сайте не происходит. Как я понял, код находит тег раньше, чем сама веб-страница открывается и на нее падает фокус и, соответственно, SendKeys происходит за некоторое мгновение до открытия окна IE с необходимым сайтом, где ищется нужный тег и нажимается энтер.
Обойти этот момент никак не могу.  
 
Так может стоило озвучить саму ЗАДАЧУ, а не СПОСОБ, которым Вы пытаетесь ее решить?
Возможно эточем поможетhttp://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=55524&MID=s
Согласие есть продукт при полном непротивлении сторон
 
Sanja,спасибо за ответ!
Нажимать кнопку на сайте научился) Но в моем случае проблема в том, что кнопка, на которую необходимо нажать, не является частью сайта. Кнопку необходимо нажать в диалоговом окне печати IE (которое открывается по нажатию Ctrl+P). Необходимая страница открывается с уже открытым диалоговым окном печати, остается только нажать кнопку "Печать", либо отправить SendKeys "{ENTER}" сфокусировав окно IE. Но отправка Энтер не приносит успеха, потому что, вероятно, нажатие происходит мгновение раньше, чем окно IE фокусируется. В этом вся проблема) Давно бьюсь на ней, но никак не удается решить. В связи с этим начал новую тему, где спрашивал можно ли как-нибудь управлять диалоговым окном печати IE.
Страницы: 1
Наверх