Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к элементу div страницы на html посредством 
:(
    Опции темы
AleksP79
Дата 19.3.2023, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.4.2019

Репутация: нет
Всего: нет



Добрый день!

В html коде есть элемент div, к которому необходимо получить доступ посредством VBA
   <div id="tender-card-content">
                    <div id="report-script" class="tender-card-title">
                        <h1 class="tct-tender-number">
                            Закупка <span class="copy-script tender-number-copy">32312204305</span>
                        </h1>
                        <div class="tct-tender-text">Содержимое, которое необходимо скопировать с html страницы через VBA</div>
...

Получается только через getElementsByTagName("div")(номер элемента).innerText, но номер элемента div может меняться динамически и такой вариант не подходит.
Привожу код, в котором попробовал разные варианты доступа с указанием сообщения о ошибке в комментариях.

Sub test()

sURL = "https://synapsenet.ru/zakupki/fz223/32312204305%231--sanktpeterburg-vipolnenie-rabot-po-obsledovaniyu-stroitelnih"

    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        txt = .responseText
        
        Set pDoc = CreateObject("HTMLFile")
        pDoc.body.innerHTML = txt
   
       .Open "GET", sURL, False: .send
        getHTTP = StrConv(.responseBody, vbUnicode)
        
        MsgBox pDoc.getElementsByTagName("div")(номер элемента).innerText
        'Работает.'

        MsgBox getHTTP.getElementsByTagName("div")(номер элемента).innerText
        'Сообщение об ошибке Object required.'
        
        pDoc.getElementsByClassName ("tct-tender-text")
        'Сообщение об ошибке Object doesn't support this property or method.'
        
       getHTTP.getElementsByClassName ("tct-tender-text")
        'Сообщение об ошибке Object required.'
   
       pDoc.querySelectorAll ("tct-tender-text")
      'Сообщение об ошибке Object doesn't support this property or method.'
      
        getHTTP.querySelectorAll ("tct-tender-text")
        'Сообщение об ошибке Object required.'

    End With
    
    Set oXMLHTTP = Nothing

End Sub

PM MAIL   Вверх
Akina
Дата 20.3.2023, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 453



А как идентифицируется нужный тег - по имени класса? если да - разве нет у выбранного div свойства, возвращающего это имя, какого-нибудь getElementsByTagName("div")(номер элемента).ClassName? Если есть - ну тупо перебирай все, ищи нужное имя, как нашёл - бери свой текст...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.