2016-02-19 4 views
0

Я хочу автоматизировать сайт с выпадающим меню с именем «Расписание», а затем щелкнуть по элементу меню «Проект», который является третьим в списке.Необходимо автоматизировать IE с выпадающим меню с помощью Excel VBA

Вот HTML код:

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
       <ul class="nav navbar-nav"> 
        <li class="dropdown"> 
         <a href="#" ng-click="$event.preventDefault()" title="Timesheet" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-time"></span> Timesheet <span class="caret"></span></a> 
         <ul class="dropdown-menu"> 
          <li><a ui-sref="AddTime" title="Add time" href="/Timesheet/AddTime/">Add time</a></li> 
          <li><a ui-sref="ApproveTime" title="Approve time" href="/Timesheet/ApproveTime">Approve time</a></li> 
          <li><a ui-sref="Projects" title="Projects" href="/Timesheet/Admin/Projects">Projects</a></li> 
          <li><a ui-sref="BudgetCode" title="Budget Code" href="/Timesheet/Admin/BudgetCode">Budget Code</a></li> 
          <li><a ui-sref="WorkCode" title="Work Code" href="/Timesheet/Admin/WorkCode">Work Code</a></li> 
          <li><a ui-sref="Functions" title="Functions" href="/Timesheet/Admin/Functions">Functions</a></li> 
          <li><a ui-sref="WorkStreams" title="Work Streams" href="/Timesheet/Admin/WorkStreams">Work Streams</a></li> 
          <li><a ui-sref="EmployeeResource" title="Employees" href="/Timesheet/Admin/EmployeeResource">Employees</a></li> 
         </ul> 
        </li> 
       </ul> 
      </div> 

VBA код: Private Sub IE_Test() Dim я As Long Dim IE как объект Dim ElementCol As Object

' Create InternetExplorer Object 
Set IE = CreateObject("InternetExplorer.Application") 

'IE.Visible = False 

IE.Navigate "http://st-toss/" 

' Wait while IE loading... 
Do While IE.Busy 
    Application.Wait DateAdd("s", 1, Now) 
Loop 

IE.Visible = True 

Set ElementCol = IE.Document.getElementsByClassName("dropdown-menu") 

ElementCol.Item(2).Click 

' Clean up 
Set IE = Nothing 
Set objElement = Nothing 
Set objCollection = Nothing 

Application.StatusBar = "" 

End Sub

Я пробовал выбирать по имени/тегу, но я получал то же самое e rror Ошибка автоматизации/Неопределенная ошибка после того, как я не добавил точку останова. И как только я положил точку останова в сообщении об ошибке метода get, говорит, что вызванный объект отключен от клиента.

Просьба предложить, как я могу это преодолеть.

Refrences for VBA

ответ

0

ElementCol представляет собой набор элементов в «выпадающем меню» класса. Обратите внимание, что «Элементы» - множественное число.)

Сколько элементов в этом классе и какой из них вам нужен?
Если это единственный элемент в этом классе, то вы обратитесь к нему:

elementCol(0).selectedIndex = 2 

или что-то подобное.

Смежные вопросы