VBA Web scrapping: нажмите на интерактивное раскрывающееся меню (не при наведении) - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь сделать некоторую проверку в Интернете, чтобы получить таблицу данных.

Данные хранятся в консоли Google Play, поэтому для входа на сайт вам нужна учетная запись.

Мне удалось перейти на нужную страницу, но результаты таблицы хранятся в ежедневных показателях, и это, насколько я знаю, не может быть изменено.

Эта таблица по умолчанию выглядит следующим образом:

enter image description here

Я выделил красным цветом мою проблему.Мне нужно нажать на это раскрывающееся меню и изменить значение на * Todo "(означает Все ). Активация этой опции позволит позже импортировать таблицу, в которой будут все необходимые результаты.

ВАЖНО: По какой-либо причине я не знаю (я не разработчик), имена классов элементов не совпадают, если вы посещаете веб-сайт с помощью Google Chrome или Internet Explorer. Я использую Internet Explorer 11,поэтому весь HTML-код, который я публикую, из-за этого.

Вернуться в выпадающее меню, и с помощью Dev Tools мне удалось получить эту информацию об этом раскрывающемся меню:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="false" aria-haspopup="true"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>

Также,размещение изображения этой части кода с помощью Dev Tools: enter image description here

А теперь соответствующая часть моего кода VBA:

Set objDivs = IEDoc.getElementsByClassName("OT1ABTB-N-d OT1ABTB-N-f OT1ABTB-N-a OT1ABTB-N-b")

For Each MiEle In objDivs(0).getElementsByTagName("div")

    If MiEle.className = "OT1ABTB-Q-a OT1ABTB-P-a" Then
        'code goes inside here, so I know I've grabbed the right DIV element. Just don't know what to do now
        Stop

        MiEle.Click 'this does not work

    End If
Next MiEle


Stop

Я знаю, что получаючтобы получить нужный элемент DIV, но не знаете, как отобразить раскрывающееся меню, а затем выберите вариант 1.

Если вы делаете это вручную, раскрывающееся меню выглядит следующим образом: enter image description here

Мне нужно выбрать параметр, который говорит Todo .

Я заметил, что когда я нажимаю на него вручную, код HTML меняется, потому что свойство aria-extended меняется на True, а затем код HTML выглядит следующим образом:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="true" aria-haspopup="true" aria-activedescendant="gwt-uid-520"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>

Обратите внимание, что есть даже новое свойство с именем aria-activedescendant="gwt-uid-520"

Так что мне нужно изменить только это, чтобы таблица результатов показала все.

Пожалуйста, если вам нужно больше HTML-кода или больше моегоКод VBA, просто спросите об этом.Я не опубликовал все, только то, что я думал, что это важно, но если вам нужна дополнительная информация, просто попросите ее, и я с удовольствием опубликую ее.

О ссылке на сайте, как я уже сказал, является Google PlayКонсоль, поэтому я боюсь, что вам нужна учетная запись, но на всякий случай, это так:

https://play.google.com/apps/publish/?&account=YOURACCOUNTNUMBERr#StatisticsPlace:p=YOURAPPNAME&statms=DAILY_USER_UNINSTALLS&statgs=DAILY&statd=OS_VERSION&statc=false&dvals=@OVERALL@&statdr=20181011-20190318&statcdr=20181011-20190318

Заранее спасибо.

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