Выберите «Дата» во всплывающем календаре веб-страницы с помощью Excel VBA. - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно выбрать дату из календаря веб-страницы и применить фильтр там после.Дата будет указана в ячейке без учета листа.Формат даты похож на «10 сентября 2018 года».Ниже HTML-DOM для сайта, который я смотрю.Пожалуйста, помогите:

<div class="datepicker__header"><a class="datepicker__navigation datepicker__navigation--previous">
</a><span class="datepicker__current-month">June 2018</span>
<a class="datepicker__navigation datepicker__navigation--next"></a>

<div class="weekday-container"><div class="datepicker__week-day">Mo</div><div class="datepicker__week-day">Tu</div><div class="datepicker__week-day">We</div>

<div class="datepicker__week-day">Th</div>

<div class="datepicker__week-day">Fr</div><div class="datepicker__week-day">Sa</div>
<div class="datepicker__week-day">Su</div></div></div>

<div class="datepicker__month"><div><div class="datepicker__day">28</div><div class="datepicker__day">29</div><div class="datepicker__day">30</div><div class="datepicker__day">31</div><div class="datepicker__day">1</div><div class="datepicker__day">2</div><div class="datepicker__day">3</div></div><div><div class="datepicker__day">4</div><div class="datepicker__day">5</div><div class="datepicker__day">6</div><div class="datepicker__day">7</div><div class="datepicker__day">8</div><div class="datepicker__day">9</div><div class="datepicker__day">10</div></div><div><div class="datepicker__day">11</div><div class="datepicker__day">12</div><div class="datepicker__day">13</div><div class="datepicker__day">14</div><div class="datepicker__day">15</div><div class="datepicker__day">16</div><div class="datepicker__day">17</div></div><div><div class="datepicker__day">18</div><div class="datepicker__day">19</div><div class="datepicker__day">20</div><div class="datepicker__day">21</div><div class="datepicker__day">22</div><div class="datepicker__day">23</div><div class="datepicker__day">24</div></div><div><div class="datepicker__day datepicker__day--selected">25</div><div class="datepicker__day">26</div><div class="datepicker__day">27</div><div class="datepicker__day">28</div><div class="datepicker__day">29</div><div class="datepicker__day">30</div><div class="datepicker__day">1</div></div></div>

1 Ответ

0 голосов
/ 27 октября 2018

Я бы сделал такую ​​попытку: это работает, если всплывающее окно также позволяет вам печатать, чтобы прокрутить всплывающий список, но это может не произойти, если это действительно выбор только для всплывающих окон.Выбор месяца выглядит как «тип», вместо этого день выглядит как всплывающее окно (во всяком случае, я не вижу здесь поля года).Итак, попробуйте использовать что-то вроде этого, пожалуйста, адаптируйте его под свои конкретные потребности кода

Set IE = CreateObject("InternetExplorer.Application")
Dim aNodeList, bNodeList As Object, cc,vv As Long

with IE
  Set aNodeList = .document.querySelectorAll("div[class=datepicker__month]")        
  For cc = 0 To aNodeList.Length - 1
      aNodeList.Item(cc).Value="Sep"
  Next cc

  Set bNodeList = .document.querySelectorAll("div[class=datepicker__day]")        
  For vv = 0 To bNodeList.Length - 1
        bNodeList.Item(vv).Value=10
  Next vv
End With

Или, как альтернативу (попробуйте тот, который лучше всего подходит для этой конкретной страницы!):

Set IE = CreateObject("InternetExplorer.Application")
Dim aNodeList, bNodeList As Object, cc,vv As Long

With IE
  Set aNodeList = .document.getElementsByTagName("div")

  For Each element In aNodeList

      If element.class = "datepicker__day" Then
           element.Value=10
      End if

      If element.class = "datepicker__month" Then
           element.Value="Sep"
      End if
  Next

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