«Нажатие» элемента привязки для перехода на следующую страницу VBA - PullRequest
0 голосов
/ 05 июня 2018

Я создаю автоматизацию, которая пройдет почти 110 страниц с VBA .Эти страницы имеют идентичный макет.Мне нужно было бы переходить с одной страницы на другую автоматически, «нажимая» следующую кнопку.В самом конце каждой страницы есть «кнопка» (привязка списка) с надписью «Следующая страница».Проблема в том, что в исходном коде нет идентификатора, на который было бы легко сослаться:

getElementById ("id"). Нажмите

Я открываю браузер.Это отлично работает.и я попробовал что-то вроде этого, но это не работает:

Dim ieDoc As Object
Dim links As Object
Dim link As Object

Set ieDoc = ieApp.Document
Set links = ieDoc.Anchors

For Each link In links
If link.innerHTML = "innerHTML" Then
link.Click
Exit For
End If
Next link

Я перепробовал почти все, что смог найти из stackoverflow, но ничего не помогло для моих нужд.

ЭтоИсходный код «кнопки« Далее », которую я пытаюсь нажать:

<li class="pager-next"><a title="Next page" href="/fi/tyosuhde-  edut/kayttokohdehakupage=1&amp;service_type=lunch&amp;keywords=&amp;city=&amp;service=&amp;service_areas=&amp;payment_method=&amp;municipality=&amp;service_coupon_code=&amp;items_per_page=50">seuraava ›</a></li>

Я уверен, что проблема в том, что ClassName находится в« li », а не в« a »?

Могут ли некоторые помочь мне ??

РЕДАКТИРОВАТЬ

Нашли обходной путь !!:

Set pages = doc.getElementsByTagName("a")


For Each page In pages
    If (page.getAttribute("title") = "Siirry seuraavalle sivulle") Then
    page.Click
    End If
Next page

1 Ответ

0 голосов
/ 05 июня 2018

Вам нужно будет повторно сбрасывать html-документ при каждом обновлении.

После обновления

ieApp.document.querySelector("a[title=""Next page""]").Click

CSS Selector

Selector

Подробнее о селекторах CSS: селекторы CSS


РЕДАКТИРОВАТЬ:

В вашемесли фактический HTML-селектор равен

appIE.doc.querySelector("a[title = ""Siirry seuraavalle sivulle""]").Click

Обратите внимание, что после "a" нет пробела, и вам нужно будет оставить достаточно времени между щелчками для загрузки новой страницы.

...