Сведения на сайте помещаются на нескольких страницах. Первая соответственно грузится сразу. Помогите дописать код, чтобы он сымитировал нажатие цифры 4 мышкой, т.е. перешел на страницу 4. Сам написал только вот это
Код
Private Sub CommandButton1_Click()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate ("http://ras.arbitr.ru")
Do While IE.readyState <> 4: DoEvents: Loop
Dim Doc As HTMLDocument
Set Doc = IE.document
Dim INP_Elements As IHTMLElementCollection
Dim INP As IHTMLElement
Set INP_Elements = Doc.getElementsByTagName("input")
For Each INP In INP_Elements
If INP.placeholder = "например, А50-5568/08" Then
INP.Select
INP.Value = "А40-16910/2014"
End If
Next INP
Dim Button_Elements As IHTMLElementCollection
Dim BtnE As IHTMLElement
Set Button_Elements = Doc.getElementsByTagName("button")
Button_Elements(0).Click
'++++++++++++++++++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++++
End Sub
В Excel кидаем кнопку и код соответственно вставляем внутрь.
Вроде как надо у страници 1 убрать активность <li class="active"> <a href="#page1">1</a>
а у соответственно страницы 4 ее добавить <li class="active"> <a href="#page4">1</a>
Причем поиск надо провести скорее всего по <a href="#page4">4</a> потом перейти к его родителю и там уже заниматься <li class="active">.
В общем у меня в голове каша. Выручайте.
Со всеми с кем общаюсь по заказу программ для работы с сайтами. данный пост на заказы не влияет. Заказы остаются в силе. :-)
Игорь, вставил. Не пошло. If не срабатывает.. Стал разбираться. Вставил код для печати.
Код
Dim A_Elements As IHTMLElementCollection
Dim A As IHTMLElement
Set A_Elements = Doc.getElementsByTagName("a")
Dim rr As Range
Set rr = Sheets("Лист2").Range("A1").CurrentRegion
Set rr = rr.Resize(A_Elements.Length, 4)
k = 1
For i = 0 To A_Elements.Length
rr.Cells(k, 1).Value = A_Elements(i).getAttribute("href")
rr.Cells(k, 2).Value = A_Elements(i).innerText
k = k + 1
Next i
k = 1
For Each A In Doc.getElementsByTagName("a")
rr.Cells(k, 3).Value = A.getAttribute("href")
rr.Cells(k, 4).Value = A.innerText
k = k + 1
If A.getAttribute("href") = "http://ras.arbitr.ru/#page5" Then A.Click: Exit For
Next A
Хотя в моем понимании rr.Cells(k, 1).Value = A_Elements(i).getAttribute("href") и rr.Cells(k, 3).Value = A.getAttribute("href") должно выдавать одно и тоже. Я не профи, но в моих потребностях изучал Basic, Pascal, Fortran, Ci, Delphi, C++, Word, Excel. Вот блин и до парсинга сайтов добрался. Кому скажу не поверят. Так что книги, интернет, усидчивость, убивание времени на элементарные вещи для других (ну как без этого мы все учились когда-то с нуля). Сложные или срочные вещи, я просто заказал. Думаю, что все будет Ок.
р\s Доберусь до проблем с капчами - будем разбираться. Вот видите я уже знаю, что с ними проблемы у новичков, а у Вас уже нет. Кликну клич добрые люди отзовутся. :-))).